From 691580baec93cc113d97fb5ea68d11b8a4efa877 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 1 Jul 2018 21:47:19 -0700 Subject: [PATCH 001/155] Reformat. --- .../erik/gradle/semver/SemverConfigSpec.kt | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index ef3210c..0dccdd2 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -44,24 +44,24 @@ object SemverConfigSpec : Spek({ given("a config") { val config = SemverConfig() val vars = listOf( - config.majorKey, - config.minorKey, - config.patchKey, - config.preReleaseKey, - config.preReleasePrefixKey, - config.buildMetaKey, - config.buildMetaPrefixKey, - config.separatorKey + config.majorKey, + config.minorKey, + config.patchKey, + config.preReleaseKey, + config.preReleasePrefixKey, + config.buildMetaKey, + config.buildMetaPrefixKey, + config.separatorKey ) val defaults = listOf( - SemverConfig.DEFAULT_MAJOR_KEY, - SemverConfig.DEFAULT_MINOR_KEY, - SemverConfig.DEFAULT_PATCH_KEY, - SemverConfig.DEFAULT_PRERELEASE_KEY, - SemverConfig.DEFAULT_PRERELEASE_PREFIX_KEY, - SemverConfig.DEFAULT_BUILDMETA_KEY, - SemverConfig.DEFAULT_BUILDMETA_PREFIX_KEY, - SemverConfig.DEFAULT_SEPARATOR + SemverConfig.DEFAULT_MAJOR_KEY, + SemverConfig.DEFAULT_MINOR_KEY, + SemverConfig.DEFAULT_PATCH_KEY, + SemverConfig.DEFAULT_PRERELEASE_KEY, + SemverConfig.DEFAULT_PRERELEASE_PREFIX_KEY, + SemverConfig.DEFAULT_BUILDMETA_KEY, + SemverConfig.DEFAULT_BUILDMETA_PREFIX_KEY, + SemverConfig.DEFAULT_SEPARATOR ) on("defaults") { defaults.forEachIndexed { i, d -> @@ -73,14 +73,14 @@ object SemverConfigSpec : Spek({ on("set keys to test.xxx") { config.keysPrefix = "test." val keys = listOf( - config.majorKey, - config.minorKey, - config.patchKey, - config.preReleaseKey, - config.preReleasePrefixKey, - config.buildMetaKey, - config.buildMetaPrefixKey, - config.separatorKey) + config.majorKey, + config.minorKey, + config.patchKey, + config.preReleaseKey, + config.preReleasePrefixKey, + config.buildMetaKey, + config.buildMetaPrefixKey, + config.separatorKey) keys.forEach { k -> it("should all start with test.xxx: $k") { From 62182b489bf410f414dc42c64af34d16921fabba Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 1 Jul 2018 21:47:50 -0700 Subject: [PATCH 002/155] Fix prefix on default properties file. --- src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index 6da6279..0ebc6b2 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -34,7 +34,7 @@ package net.thauvin.erik.gradle.semver open class SemverConfig { companion object { const val DEFAULT_KEYS_PREFIX = "version." - const val DEFAULT_PROPERTIES = "properties" + const val DEFAULT_PROPERTIES = "${DEFAULT_KEYS_PREFIX}properties" const val DEFAULT_MAJOR_KEY = "major" const val DEFAULT_MINOR_KEY = "minor" const val DEFAULT_PATCH_KEY = "patch" From 483d639dfb0ae5358d21f2958d0455c57d4931e2 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 1 Jul 2018 21:49:11 -0700 Subject: [PATCH 003/155] Project version is now set on start. --- src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index cf1143d..352d4a4 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -112,12 +112,12 @@ class SemverPlugin : Plugin { version.buildMeta = getProperty(config.buildMetaKey, Version.DEFAULT_EMPTY) version.buildMetaPrefix = getProperty(config.buildMetaPrefixKey, Version.DEFAULT_BUILDMETA_PREFIX) version.separator = getProperty(config.separatorKey, Version.DEFAULT_SEPARATOR) - project.version = version.semver } } } else if (exists()) { throw GradleException("Unable to read version from ${config.properties}") } + project.version = version.semver saveProperties(config, version) } } From 877e4bd622fdfe4bafc2bce7f0aa1ed615226348 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 1 Jul 2018 21:49:54 -0700 Subject: [PATCH 004/155] Reformat. --- src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt index c862f9b..e752c04 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt @@ -53,8 +53,8 @@ class Version { val semver: String get() = "$major$separator$minor$separator$patch" + - (if (preRelease.isNotEmpty()) "$preReleasePrefix$preRelease" else "") + - (if (buildMeta.isNotEmpty()) "$buildMetaPrefix$buildMeta" else "") + (if (preRelease.isNotEmpty()) "$preReleasePrefix$preRelease" else "") + + (if (buildMeta.isNotEmpty()) "$buildMetaPrefix$buildMeta" else "") fun increment(isMajor: Boolean = false, isMinor: Boolean = false, isPatch: Boolean = false) { if (isMajor) { From 474263452f74134e240d94b25d4b81a2a433502f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 1 Jul 2018 21:50:49 -0700 Subject: [PATCH 005/155] Added examples. --- .idea/.name | 1 - .idea/compiler.xml | 14 ++ .idea/modules.xml | 20 ++ .idea/modules/annotation-processor-java.iml | 9 + .../annotation-processor.iml | 12 ++ .../java/annotation-processor-java.iml | 13 ++ .../java/annotation-processor-java_main.iml | 14 ++ .../java/annotation-processor-java_test.iml | 14 ++ .../kotlin/annotation-processor-kotlin.iml | 13 ++ .../annotation-processor-kotlin_main.iml | 56 ++++++ .../annotation-processor-kotlin_test.iml | 53 ++++++ .idea/modules/ap-examples-java.iml | 13 ++ .idea/modules/ap-examples-java_main.iml | 14 ++ .idea/modules/ap-examples-java_test.iml | 14 ++ .idea/modules/ap-examples-kotlin.iml | 13 ++ .idea/modules/ap-examples-kotlin_main.iml | 56 ++++++ .idea/modules/ap-examples-kotlin_test.iml | 53 ++++++ .idea/modules/examples-java.iml | 13 ++ .idea/modules/examples-java_main.iml | 12 ++ .idea/modules/examples-java_main~1.iml | 38 ++++ .idea/modules/examples-java_test.iml | 20 ++ .idea/modules/examples-java_test~1.iml | 43 +++++ .idea/modules/examples-kotlin.iml | 13 ++ .idea/modules/examples-kotlin_main.iml | 38 ++++ .idea/modules/examples-kotlin_test.iml | 43 +++++ .idea/modules/examples.iml | 12 ++ .idea/modules/semver.iml | 2 +- .idea/modules/semver_main.iml | 132 +++++++------- .idea/modules/semver_test.iml | 70 +++---- .idea/vcs.xml | 1 + .../annotation-processor/java/.gitattributes | 5 + examples/annotation-processor/java/.gitignore | 29 +++ .../annotation-processor/java/build.gradle | 45 +++++ .../java/example.properties | 7 + .../java/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54417 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + examples/annotation-processor/java/gradlew | 172 ++++++++++++++++++ .../annotation-processor/java/gradlew.bat | 84 +++++++++ .../annotation-processor/java/settings.gradle | 10 + .../com/example/GeneratedVersion.java | 102 +++++++++++ .../src/main/java/com/example/Example.java | 30 +++ .../java/src/test/java/AppTest.java | 11 ++ .../java/version.properties | 7 + .../kotlin/.gitattributes | 5 + .../annotation-processor/kotlin/.gitignore | 32 ++++ .../kotlin/build.gradle.kts | 52 ++++++ .../kotlin/example.properties | 7 + .../kotlin/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54417 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + examples/annotation-processor/kotlin/gradlew | 172 ++++++++++++++++++ .../annotation-processor/kotlin/gradlew.bat | 84 +++++++++ .../kotlin/settings.gradle.kts | 1 + .../src/main/kotlin/com/example/Main.kt | 33 ++++ .../kotlin/version.properties | 7 + examples/build.gradle | 7 + examples/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54417 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + examples/java/.gitattributes | 5 + examples/java/.gitignore | 29 +++ examples/java/build.gradle | 56 ++++++ examples/java/example.properties | 7 + .../java/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54417 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + examples/java/gradlew | 172 ++++++++++++++++++ examples/java/gradlew.bat | 84 +++++++++ examples/java/settings.gradle | 10 + examples/java/src/main/java/App.java | 12 ++ examples/java/src/test/java/AppTest.java | 11 ++ examples/java/version.properties | 7 + examples/kotlin/.gitattributes | 5 + examples/kotlin/.gitignore | 29 +++ examples/kotlin/build.gradle.kts | 58 ++++++ examples/kotlin/example.properties | 7 + .../kotlin/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54417 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 + examples/kotlin/gradlew | 172 ++++++++++++++++++ examples/kotlin/gradlew.bat | 84 +++++++++ examples/kotlin/settings.gradle.kts | 1 + .../src/main/kotlin/com/example/Main.kt | 3 + .../src/test/kotlin/com/example/MainTest.kt | 8 + examples/kotlin/version.properties | 7 + examples/settings.gradle | 2 + examples/test/build.gradle | 6 + examples/test/test.properties | 8 +- examples/test/version.properties | 7 + 85 files changed, 2429 insertions(+), 107 deletions(-) delete mode 100644 .idea/.name create mode 100644 .idea/modules/annotation-processor-java.iml create mode 100644 .idea/modules/annotation-processor/annotation-processor.iml create mode 100644 .idea/modules/annotation-processor/java/annotation-processor-java.iml create mode 100644 .idea/modules/annotation-processor/java/annotation-processor-java_main.iml create mode 100644 .idea/modules/annotation-processor/java/annotation-processor-java_test.iml create mode 100644 .idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml create mode 100644 .idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml create mode 100644 .idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml create mode 100644 .idea/modules/ap-examples-java.iml create mode 100644 .idea/modules/ap-examples-java_main.iml create mode 100644 .idea/modules/ap-examples-java_test.iml create mode 100644 .idea/modules/ap-examples-kotlin.iml create mode 100644 .idea/modules/ap-examples-kotlin_main.iml create mode 100644 .idea/modules/ap-examples-kotlin_test.iml create mode 100644 .idea/modules/examples-java.iml create mode 100644 .idea/modules/examples-java_main.iml create mode 100644 .idea/modules/examples-java_main~1.iml create mode 100644 .idea/modules/examples-java_test.iml create mode 100644 .idea/modules/examples-java_test~1.iml create mode 100644 .idea/modules/examples-kotlin.iml create mode 100644 .idea/modules/examples-kotlin_main.iml create mode 100644 .idea/modules/examples-kotlin_test.iml create mode 100644 .idea/modules/examples.iml create mode 100644 examples/annotation-processor/java/.gitattributes create mode 100644 examples/annotation-processor/java/.gitignore create mode 100644 examples/annotation-processor/java/build.gradle create mode 100644 examples/annotation-processor/java/example.properties create mode 100644 examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties create mode 100644 examples/annotation-processor/java/gradlew create mode 100644 examples/annotation-processor/java/gradlew.bat create mode 100644 examples/annotation-processor/java/settings.gradle create mode 100644 examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java create mode 100644 examples/annotation-processor/java/src/main/java/com/example/Example.java create mode 100644 examples/annotation-processor/java/src/test/java/AppTest.java create mode 100644 examples/annotation-processor/java/version.properties create mode 100644 examples/annotation-processor/kotlin/.gitattributes create mode 100644 examples/annotation-processor/kotlin/.gitignore create mode 100644 examples/annotation-processor/kotlin/build.gradle.kts create mode 100644 examples/annotation-processor/kotlin/example.properties create mode 100644 examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties create mode 100644 examples/annotation-processor/kotlin/gradlew create mode 100644 examples/annotation-processor/kotlin/gradlew.bat create mode 100644 examples/annotation-processor/kotlin/settings.gradle.kts create mode 100644 examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt create mode 100644 examples/annotation-processor/kotlin/version.properties create mode 100644 examples/build.gradle create mode 100644 examples/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/gradle/wrapper/gradle-wrapper.properties create mode 100644 examples/java/.gitattributes create mode 100644 examples/java/.gitignore create mode 100644 examples/java/build.gradle create mode 100644 examples/java/example.properties create mode 100644 examples/java/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/java/gradle/wrapper/gradle-wrapper.properties create mode 100644 examples/java/gradlew create mode 100644 examples/java/gradlew.bat create mode 100644 examples/java/settings.gradle create mode 100644 examples/java/src/main/java/App.java create mode 100644 examples/java/src/test/java/AppTest.java create mode 100644 examples/java/version.properties create mode 100644 examples/kotlin/.gitattributes create mode 100644 examples/kotlin/.gitignore create mode 100644 examples/kotlin/build.gradle.kts create mode 100644 examples/kotlin/example.properties create mode 100644 examples/kotlin/gradle/wrapper/gradle-wrapper.jar create mode 100644 examples/kotlin/gradle/wrapper/gradle-wrapper.properties create mode 100644 examples/kotlin/gradlew create mode 100644 examples/kotlin/gradlew.bat create mode 100644 examples/kotlin/settings.gradle.kts create mode 100644 examples/kotlin/src/main/kotlin/com/example/Main.kt create mode 100644 examples/kotlin/src/test/kotlin/com/example/MainTest.kt create mode 100644 examples/kotlin/version.properties create mode 100644 examples/settings.gradle create mode 100644 examples/test/version.properties diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index 13ea6d3..0000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -semver \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 0a77bef..2fa4070 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -2,6 +2,20 @@ + + + + + + + + + + + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml index 7d89215..dac269c 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,6 +2,26 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/modules/annotation-processor-java.iml b/.idea/modules/annotation-processor-java.iml new file mode 100644 index 0000000..008cdb4 --- /dev/null +++ b/.idea/modules/annotation-processor-java.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/annotation-processor.iml b/.idea/modules/annotation-processor/annotation-processor.iml new file mode 100644 index 0000000..465fff5 --- /dev/null +++ b/.idea/modules/annotation-processor/annotation-processor.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java.iml b/.idea/modules/annotation-processor/java/annotation-processor-java.iml new file mode 100644 index 0000000..a0a747b --- /dev/null +++ b/.idea/modules/annotation-processor/java/annotation-processor-java.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml b/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml new file mode 100644 index 0000000..e27c1b1 --- /dev/null +++ b/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml b/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml new file mode 100644 index 0000000..56e1e5c --- /dev/null +++ b/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml new file mode 100644 index 0000000..af6355a --- /dev/null +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml new file mode 100644 index 0000000..025644b --- /dev/null +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml new file mode 100644 index 0000000..72008aa --- /dev/null +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-java.iml b/.idea/modules/ap-examples-java.iml new file mode 100644 index 0000000..d890132 --- /dev/null +++ b/.idea/modules/ap-examples-java.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-java_main.iml b/.idea/modules/ap-examples-java_main.iml new file mode 100644 index 0000000..c9833e4 --- /dev/null +++ b/.idea/modules/ap-examples-java_main.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-java_test.iml b/.idea/modules/ap-examples-java_test.iml new file mode 100644 index 0000000..2e20acb --- /dev/null +++ b/.idea/modules/ap-examples-java_test.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin.iml b/.idea/modules/ap-examples-kotlin.iml new file mode 100644 index 0000000..4a799f3 --- /dev/null +++ b/.idea/modules/ap-examples-kotlin.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin_main.iml b/.idea/modules/ap-examples-kotlin_main.iml new file mode 100644 index 0000000..ba500a4 --- /dev/null +++ b/.idea/modules/ap-examples-kotlin_main.iml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin_test.iml b/.idea/modules/ap-examples-kotlin_test.iml new file mode 100644 index 0000000..2f272d8 --- /dev/null +++ b/.idea/modules/ap-examples-kotlin_test.iml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-java.iml b/.idea/modules/examples-java.iml new file mode 100644 index 0000000..4a61c8a --- /dev/null +++ b/.idea/modules/examples-java.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-java_main.iml b/.idea/modules/examples-java_main.iml new file mode 100644 index 0000000..20dbdd5 --- /dev/null +++ b/.idea/modules/examples-java_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-java_main~1.iml b/.idea/modules/examples-java_main~1.iml new file mode 100644 index 0000000..36c031f --- /dev/null +++ b/.idea/modules/examples-java_main~1.iml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-java_test.iml b/.idea/modules/examples-java_test.iml new file mode 100644 index 0000000..eeccd0b --- /dev/null +++ b/.idea/modules/examples-java_test.iml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-java_test~1.iml b/.idea/modules/examples-java_test~1.iml new file mode 100644 index 0000000..0f58715 --- /dev/null +++ b/.idea/modules/examples-java_test~1.iml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-kotlin.iml b/.idea/modules/examples-kotlin.iml new file mode 100644 index 0000000..a9f4b89 --- /dev/null +++ b/.idea/modules/examples-kotlin.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-kotlin_main.iml b/.idea/modules/examples-kotlin_main.iml new file mode 100644 index 0000000..2c50ac8 --- /dev/null +++ b/.idea/modules/examples-kotlin_main.iml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-kotlin_test.iml b/.idea/modules/examples-kotlin_test.iml new file mode 100644 index 0000000..a17c71e --- /dev/null +++ b/.idea/modules/examples-kotlin_test.iml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples.iml b/.idea/modules/examples.iml new file mode 100644 index 0000000..455d728 --- /dev/null +++ b/.idea/modules/examples.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/semver.iml b/.idea/modules/semver.iml index a320bcb..ff76db3 100644 --- a/.idea/modules/semver.iml +++ b/.idea/modules/semver.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/semver_main.iml b/.idea/modules/semver_main.iml index 795be74..4a9749c 100644 --- a/.idea/modules/semver_main.iml +++ b/.idea/modules/semver_main.iml @@ -1,5 +1,5 @@ - + @@ -48,16 +48,7 @@ - - - - - - - - - - + @@ -72,6 +63,24 @@ + + + + + + + + + + + + + + + + + + @@ -81,6 +90,15 @@ + + + + + + + + + @@ -108,15 +126,6 @@ - - - - - - - - - @@ -126,7 +135,16 @@ - + + + + + + + + + + @@ -135,35 +153,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -173,19 +162,39 @@ - - - + + - + - + + + + + + + + + + + + + + + + + + + + + + @@ -194,19 +203,10 @@ - + - - - - - - - - - - + diff --git a/.idea/modules/semver_test.iml b/.idea/modules/semver_test.iml index cb2c02e..9c0a069 100644 --- a/.idea/modules/semver_test.iml +++ b/.idea/modules/semver_test.iml @@ -1,5 +1,5 @@ - + @@ -36,15 +36,6 @@ - - - - - - - - - @@ -125,20 +116,11 @@ - - - - - - - - - - + @@ -147,7 +129,25 @@ - + + + + + + + + + + + + + + + + + + + @@ -174,7 +174,16 @@ - + + + + + + + + + + @@ -189,15 +198,6 @@ - - - - - - - - - @@ -210,14 +210,13 @@ - + - @@ -227,12 +226,13 @@ + - + - + diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1dd..8306744 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/examples/annotation-processor/java/.gitattributes b/examples/annotation-processor/java/.gitattributes new file mode 100644 index 0000000..6ec2ae2 --- /dev/null +++ b/examples/annotation-processor/java/.gitattributes @@ -0,0 +1,5 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# batch files are specific to windows and always crlf +*.bat eol=crlf diff --git a/examples/annotation-processor/java/.gitignore b/examples/annotation-processor/java/.gitignore new file mode 100644 index 0000000..6322c7f --- /dev/null +++ b/examples/annotation-processor/java/.gitignore @@ -0,0 +1,29 @@ +**/.idea/dictionaries +**/.idea/gradle.xml +**/.idea/libraries +**/.idea/tasks.xml +**/.idea/workspace.xml +*.sublime-* +*.iws +.classpath +.DS_Store +.gradle +.kobalt +.nb-gradle +.project +.settings +/bin +/build +/deploy +/dist +/gen +/gradle.properties +/local.properties +/out +/proguard-project.txt +/project.properties +/target +/test-output +ehthumbs.db +kobaltBuild +Thumbs.db \ No newline at end of file diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle new file mode 100644 index 0000000..5edede5 --- /dev/null +++ b/examples/annotation-processor/java/build.gradle @@ -0,0 +1,45 @@ +buildscript { + repositories { + mavenLocal() + } + dependencies { + classpath "net.thauvin.erik.gradle:semver:0.9.2-beta" + } +} + +// ./gradlew +// ./gradlew clean incrementPatch run +// ./gradlew clean incrementMinor run +// ./gradlew clean incrementMajor run + +plugins { + id 'java' + id 'application' +} + +apply plugin: 'net.thauvin.erik.gradle.semver' + +mainClassName = 'com.example.Example' + +defaultTasks 'run' + +compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated") + +def semverProcessor = "net.thauvin.erik:semver:1.1.0-beta+2" + +dependencies { + annotationProcessor semverProcessor + compileOnly semverProcessor +} + +repositories { + mavenLocal() + jcenter() +} + +semver { +// properties = "example.properties" +// keysPrefix = "example." +// preReleaseKey = "release" +// buildMetaKey = "meta" +} diff --git a/examples/annotation-processor/java/example.properties b/examples/annotation-processor/java/example.properties new file mode 100644 index 0000000..11e4b78 --- /dev/null +++ b/examples/annotation-processor/java/example.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 20:13:31 PDT 2018 +example.major=1 +example.release= +example.meta= +example.minor=0 +example.patch=0 diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..758de960ec7947253b058ff79c88ce51f3abe08a GIT binary patch literal 54417 zcmafaV|Zr4wq`oEZQHiZj%|LijZQlLf{txF>Daby+ctW7=G-$g=gzrzeyqLskF}nv zRZs0&c;EUi2L_G~0s;*U0szbJOwm`VOm zb&bFB*Zlt|Du^h`NJ^-xF)B#jD@=^b%P}y{BFHh&PEAbLt1vIH?Ht}sFpS7dDooPJ z(0_wH3pGnVDAb{8!J;TWC^Q-AYfL}UKEb(jzIFcgpN9N9%Kx4l_}^~_XUqR*TK~5W z+<)j;IvbnWn*X<|X#c9};cV>aXzu*~m|T17q+I_UdhzelF#LNHQ3nTC7uUb`3dR6? zRaawYS951ZQ(I#fmuL-bk9iH`FZA(bGI31HZ&1?kBm+|>ss9aSKpTK9Dg4<&x!V>@gR`lX zy^Xg5%k@>l8lZ73w(dLBT9@~dIcGoy8tI$fT{;8 zx(XIK!6F9cL=ga~%ZRm{=BA*(9DypErmb$M&JewABR;z|BMWLmGfztno18wcy%$(y zZ_i5Sw8efIuaH8a&NkO%y*iPOvBPv*@S|Y1aY6sFD}6@2;Ft7zvIV+@exwB@CVSQ- z?`^3@Apb)n3MO$oBU8FWWKo5(ws6UKXQ2+d-x9lRlR1@Jqnd1*bqos2g*EnsqMo75 zVqJ@KT)w+BsQ0-qANf`KeM)Ml@ew%uB8(P&O?_pSqZc{PN@~lc0+ZM0q{X!Sgwy!F zu67f^rdT;XSDEH6Jx;F7oUFZ<9%{m|fktU^WU%8%O{%f7z|5#Bq=xM$c3=Jv#Arn4 zHTu6+J60j<7>rX4)Z9VJ5NyO~?*_kkzsU+n_3CdVp97KPbc(y7_nsWX(@zqj>X3*B~KEHb+!+la$lsaNVnOL&^`b?i;QJUCbh-8XW& zG{yiozD?Vt0~%IvxD?BoL1+P{t!b+NU9>mlMYdPWSK-HIOL1pQ@jhBJHC=MB1G+Ep z`UK;`+kghINyCgU37t8IecYSTB-LHKfGF( zgjG-jH&Q0QjHAD#J2$R{S2Y{G-XsFT_AtiCtqG3RoXap;swWtV6C!&NHJ1 zevR^gm72B1xLUcg;*=d?fl#8K=BM76D$-AKga9=?57+P#TuS%ShyW~Gi1n#A2jbmb zeInTF(;{^ZT$p9FGNb!Nv@2#!HTE)N+GWWyfY{7*Xgf7UPw4;^FU--*{{TJNCpq@J zykfU*PQAJ8$=F-U;!LW@%RQ2x!+y*b^UOn5CLntkXHHX@voEpQl7n_v-ob2Yg=W!g z&C8Qzg12Q=%iitfDO4@c`{teGwL9!|Ni6@ckr;c zbucy~XZgo@=@+E{+sBL?vTenoL+8#E1h*WT-Am+1!pJXTD`pELBU9d)0f)4cH-PSR z&VM98IN@9KybnVx*4Kk=BI?`3l``&EMq%96ST(DGelEKKVcf*l+SJ8-W6bK?CS6z zK_W?2-vLzwT>va`&>Y~TUb`e~XA@FR|AK)q6l^3f9}ZBlGkIeVfvH@*`epp<4k+(C zhqZ3Chjb%_a}A;{3bW{!>T{g!axLIt@pN3{AOwL;6Z}7*C9RM& z+SGh4u~5bRVsNq8k$*f=;nRf5i+?P(qOlc*MSMfj-MY%H7$gy!+W^K7EP#bp`T7Or zClNK#hSZaUQn7{qNlnj=iGyaav8yhZbwWiM$9l4XU&Uc~vN`hBJc^3oc(cJzWr_@M zmGEYlYq%eogX`;iVj(pgi6B<6@x}fK2R87Mf$Hgz;E6%5IyoohLyr4PJ!IkW^#*fu3kgflOhbYSQa6;~m?ayh0|${Cq7b^y?O73JDPegc2VFgyg^9VE_1qvb5oh(3jl=l-4$Jq9utmq-%|C zOnNZiaPfXJz)PZng2yB4kpDKajcp(U7;}(KPk}n?a>a=4u`6seI0-76P$}v>8(xHB zz$ji6GuY2BeRA0)_|I{EwgKK0gaC8*TmB6?cIYKdk4Ju2e$QP#)1B8{kH_7wr_-P- zG>q8NJ8gl+9cuksmS*?bs~z+ing?f0Coh?Sh67B17jrO3du&gPZj&9&Td&oR^ukxS z)sN7?_1pB&?S&g%$n=|a$i5c>ux{XX!gx1RhS1C{1Xw`0Q2Zp(_z@7YD_Dr-rsRcf z^}`E6!cTkH5c@^$BPq1z~_Gvq=va%KWai9a96@oTz!Ft zz5A5GzdC8xq}A}aNkQA7aY@P9^-t1E<5WW#t=){RJyR&p;FXzhU1vx12XPgGIc5ui zjcry-;y}hF9Biy}HqgRtj<3lqbG#fSF#ZGvj@wKwQvf$1<(EW&^Z(i0I55f3FXB*fX9 zKGmgejF52=t9xTZfw0~7OP&~*Dbf(65|SENRVHlFMjB2=yDh$RXWA9cv~1zU6)>Aa z$iZh*%-X5u$Ixv!hox#rp34$M1)n(&+a}Al950(5XA8fv&uQT~H2aj#Rg`7Pyx3@i z1E2H#lxzl(D-$oxvTRgxoJ;pirwrBUHP(rZzC=}0dS&J+3kmXx2iii1G4<&RSz4>i zIv+rxctLxEhK|G7ONM7k3G!o=T%i-dkyMu7UT(2H>9l>qVxR7ub$TE_R6nkqJ7KU% z8}T4+5Y;nT)#``8eoaV(H*uZr+Kxn_+O(!zj|x);%hHgU_+4fNAar{0Tx~cd7lx#l z{`>flGz|}q6^dZ{37<~FoYkP*cA4b&qUBuEGN0+Ov5b_GMR5s*X!+EGG7%LUmxbKs zxu=HCFwyTUoPgvmI-~OKNof-BS7nvBE+dT$y>HIS>yP6DtjPF2vgNW6<(pAVGb;R3 zw^2elw*a&C^nGXb_>0NGMUfI$WjWpXr4&!`b{%=jA7SW_T5~zOI99v9e~es^*2k|-S?#>*p@Q%s%W;R9Mii{yMU#lL(aq* zuP4{Yxi%M@LM}TAz1&4-F$XV3Zb7dY`MF`|tLpu&ABRQp@#U?-< z6ejkK(Fo@#eOJvKdk3EPCmS{^uctjG$N7mlmIn}38+LgDtJPVjo06KL4#V9QTvPK^ zT><&)=*_^a;uf(Dz#dG;-~iNZ1C4t`d#XRI@@$Fdl49Zz;?HV!u|!50ly>uaDKw9a zJ;GVjJu=Us0XWaN&|haBwBt4=H8fWk@A7qq8?wR`0O^hLOox4%m{2YH+X zV>4Br>?C5|^vZcok6g!qvLa3{$~-=0=W}}H zHms-QZHPKuhfEXe^1ZG<+5k%vE?`0>Iz%<%4uP-EfO-}K=~13`v*~(>7MY)#HwwJo zET_}ed+%nvXD$BhS!p>QWn!dbtq_z^C$ka85UXKnZO$TFNl4B(k{$NRN-;-hSr1v3 zkqz+NNv&;+2luIIM2GjPV)oq4>;gWfe^f%4&IA8ae=t!A%JnDUjy2y|-0z6xGy&y`bj|l;t|2@e#k?U*OK}wA6pJ z{m_kM9g}q+vwMfS1kfeyb=K7#5b8*lJTc4NlkF>68+#RwM&rSyOsPa;r1RxSdjr&0 zvnad#Qi?=i4pp=pi`~raumDwh2lS`$$Cin+*opx%(RF$91HVzri|$}iWK5%0ku0^i z8CRd1U?pS@@0zkPX=qwf<7MT4cc3Of$p5(mjpM|nSNKze2f?qd3aLB&Ad`+h7x7t}p6Y7xX z0?=TNs+=R;*YP{5#(mc4YguAOG6xC)c1C)mxxws;&|dMUo^&%E9Wk1v4~XJ}WlkD0@D)erFynxD?W* z+34y;-YQy+sJB)I18912-5YlHy5j1(@9JvJZUz#$45%%UM!Li5!7aHAqnq&2mm0F` zL!V6rgv}-l_F~{wE5QV^Df+Dhz&2aPv)|eT^|FurMZgQ0D$vYBIhvY9k|K&)&PqeE zNrVN%Fcd6cX(yzMOp5p5wg{eUKFp?UQ`-LcIHo7O1Bu&I>SAP99vQHW{!FQ{(Stre z&$pegWi#vIT4i0rg?_MreaERoJ;JKTydyf(!BVIvjpZqa8oC0P3iCk8)2;HrJLqzG zCUr19d&Vtze|Z+YWTz2mMHmtM+v*gip-~DHs3j#=b3IEM=t!P#UPppDVq&V~s6b~h z=i|!L2545UFKMz+(kI8BtzSXk)>nO`KdLr%!Q=`+o@64$-HIP%SgzwB+-eHHWNKdE zSk`NLT4-D-cd(PY)Y;(Gyx+2%*?N*u3)8J%agtS7^RebZYYVLXXyC$2(LECkX+q{D z^LBGlz`UFeIM0dDy*erlLw}z8cn=4D4lMgUTz}&&!t$9N4tQq?{}zQx!h$~p9>e?siDM-d zQE4hZ!%V;$MCF99lyHW|9hg&WO6;=NNOPGu4ZOJPB5Y&z6kYbRHl8XTSn1C63CZ!oIQ@jC+fp&OS7So zcQH>SYnofs=_kU4Tk@JcsT%{FqWo$Qs;4_g6DFt%KsTgiipy+?>&o1@+OAML<^cC5N%+1VYELC0!xv!)#}H3$h5 zB1(#!PcM||1Gd?(rYDIFfw@;&P^RE(KuIONcXntQes@aDHT1R*!TTO?g{X@O2xd2- z)A?aBDRy#eRVHf$ zf4`gMsAE{|&QqLV)#zQLx(ngltJJII16bR6C~9Ns(}!4AlOKYe{HeBq8W zP&li4QGNo=)Q%ue}Q>2iK@*pQz~wv0v`FPq{U;g9)6)0glZ*r zhaIrp@o~prt>E~hvE4axPq`QFL)u&TI!yRv1_tETQ32<(cw!An1gGeYt0nZ|lxE4U z3uvz`%l?Y#A~LPs~w?7mC(aCsi{}Uqy^=`{*{1?t2mX*J^S>k!dsU zZxuQAS6Kf0YVvQl!qVB?#YGJbT4d>FuKGw-Mlr1`1q5=%uJg(3b|<9 zg8y6?&ECjF>Yt^2q>}>D=%&rVU3%?4QSOF04GWh9i9Qx% zemGXIlzbz)sglpN=VPosX0@ak&y*wiRQrH4Ny=0Pg0J09$hrQ`5gLD;V1wTmIAIBn@2`v|}89LG8J4OLJkJo{bgN8b9QeWaQQg?Yw2zLY?O`j!5UzEGSWsr-Stx**fh@ zx^q)nPZcb^mEU~Zf5#!UpiRH$Gj#|`i_dWlpOuixgU8>&!YE!?fWz&gnNj7>67m96 ze&=@w?0u|g?Lq`@?O~jkC%MskaPpzNH1YA#&m=u>=oq#3CLS&n2}>Di7HT35*?{H~ z*Or~}DE1;01}r)+7&{NRU+#nplj>8O6@%}2)yNNC3LyJ&}PrDBq0e{0}1>)B|$fu}e0 zfd$UGqK93YCv7-3R6sQ)FnHOQUA@mC{Pr4mN*vymms=>YtR7LxjT${yUpF)gr-B~6 zmAwb$BNa(;mvc!zmo35MHA26qRsM}ZfL4zh5;;*mJ8|{rr&O-~D=^B|Ku6HwUHphf zTA=GNxl==aS19WK3O^4z~QAhV|FxyO(u@>*7w;9Je4uXP{;lre|%=2T@E`?Er1;kjt^um?TawZ zsYU%q{FDSnN9OCrtly{Jf!cRP7}E9DW#s9H6rgD-0^4d0tW0PrfE}s0f@Orv9+^NY zLJ5k%)PTtzyqCJr9PAgGE%xsNEulF$FFgJvGdwtrkn`=fBzrcgt?7X*8&m#RPyN0ojCufV=+I?4&&N7~EbUreF;6xZosdi z6V4MXJ}z{lYS4f@Z1-vX*oLKx90rQCOfs9)Zt=;u-(y&Df_XES(pa2hTT=)bP*t_{ zJQcvEjoW4cT>Sofn@xa*ke8spqg_N$cGHJE+lSiG#qB-BcvvXUOve4Egc#>v+_GDj-TI7@BO4QEe3==2E zn#ce~MC?A#TN$AzRld)Jt#0YJrrYe~iK1Hq<@0{EbE`+1WVI8a$C_kIi~%e7;zR3& zwXOn#$Uf_S&)C%czJq3NQoHzw_@>5)yRzC2JpZIK!fy%N1mzJJ1Y={DR?AZW^*tdj z`a`qa+9iMdnK?^pwPE@7CqhYr%VmXuvjWE)1uf07+i-HCp?uk<5<@yfpfHfM&!uu) zLSw*Wc0954w>QVqg}TPE!qTxF{*aw7PPY_dKo9d)KQ!)w&H%LlVSfpCOhDd`fO@|_ zP*k@d5-9zEyj^%@d@Mie@JntI_qx{WL;X+>C@0E;5eU}eNS}urcy@2Q8KoG@gI-jJ z7TjVfl@${^z8doyMaH&^^%=Pqc z1xWzh$FWq2%wtJEU+yR4TeFeUVeB}*Qt0uq*n}kc{6I;C(s$KA^v7B+YF|;+fj%o# zH;j9O&tCW?Mp&DYM{mEN4K?tYZa+vJ7;jcPHcYzkN*r}0rp0NHE&u!{#00#|dsFW( znxOm_P53XcW~u)LY^%GNJ4-v*naevk*tj|V2iB~rtAs0p{v{cwzx1e5N!{3FtqZQZ zs&lD6KQLY%p$1J1qhuBWQ_a|JrfvJ7*-36~JvS`)AjKijuR=HSvwgI6(xc1eXky}8 zNXQ>ltFJsrd1BNve}^VpCY%P^$Usu>B?4KpmUy={=od&QvbVCNij_j29E==%g6`YX zn+UDp+Gw>y(ZigG;&ih6e2#0V`5#+AMZG0 ztNA*-Y-1mYerxBw?vUkYI6?Lni?!nCxICe3YG!cGELe)DLivnqE}O88NxU#jEI)4Z zep>8mnh$s89fCB3Q1LOR3Y|p`TFhm^cFE2ueY=uFLiU#S^99c_C&hF(YrmE?6ie)A zst<PZ@(vM>EB)In|C#cOSFG;^Qag1y zgj5`!R3qFSK2~OmIJEV=4;7P|@`+;pth+jeM%PzW6B>glHyEnyi)Y~mIl=`#AdLR0 z&;Ei!)VWyQ{fX&cv&i#G>x5$1zknAu2ng-J&#L~hO*Q|)sra9?i2nd5w4i*^mT~?F z{qnnewf$+!ObRao!eko~7rYX@P=|nRhG%PPA}xyeS}Q@G6{i?w;YLm%lhNc#xydF& zC8N6j!u4tsP>6el36DeAuni;db(qP1@vr0obhy6O64A6Pzh(&+mh{ zqlbe0g*%`AzQPg&f~BNDm{$&(6r|BZW1->?Pw^0<*s)Jj*r{?)d?Jlo6koN$;TtE6 zoE|h-!Ll7y+NK>DjGQ6MkC)2A*G!@u%^Qfvxh_?!{n&0yA7Jbz!+!R8w~i0#|`_V~YNbyqCW$YB_*e=t$S3ygpHjwLPRtxMnZF`L-F)~j%(Q?0&01qxDk0>nY;4S)%g|fghTsdi7;cSKs zKBvmhx7`+!B=!PtUumVmgDr@+$~r9_BmDvS=uj!uH|Y)N9O={jeM#Dm{;ewycL8sD znF3#!FIf6&AuZeA4EjpZ@rI4VbwAFWw~9)@X$hiIakdD7c>GoPN@@HJCXza$;E9O< zoh+8U)dy>61|uzy%>*Skzd)#T_?}OpqKL45VTa16dsv6>Y4@ zFguPH^-&9k=?A~~nzQ8HNq85reor!^^ToJUou?-x|S%+N&^eC1iV6T5-( zkFD?6;~~|YudJ90Sb4Ae@-k&wj0Ewa7+cHRlWZb9<9{hYiWCf=W>eUwvYHdW;$+wL ztc%Uj6Zf2;ddr~7<5}k{C^0zJ<_B0Ff_w5a?KeknqYi(_loL!1?2&y+E`&$x@~~(4 zby4D-Gi6dr92s&@<=-C$^BQIBE{yNx2ie7ea_9li*`xL}5Sn)^5Tu;g+Gj&xW%`+J z*!9&<6eU9g;PB^;;8`+;Q_*q#BMfO?8bh~tng@6&zdO^Tv7OW_{E>pOej)I$*+qIO z2oeIkuzmFvrqh&Wd3#q%5iQ?nekk;B-y$IZHp+I^kKisb`4*edsL8~-Nw7{ zW9xVL5&0(3MqA2aYoWNQsMz_jn&p_jESuJgX`W7&w0wB&$XAqAQLnr8PCysDhz%#R zlbc%NZgFZ|*R@Cn_=|P?y=U~oew!CF$Tr<$?9PivP%j4eg~JM|qnWp4*&XPF@-<54 z^5=+`=IhM?Y_VKUZzD@*#EVK*20#_)(Z5Nk+2l*os|=VZEJRYcu6bFo@M3d=MHbA;<@iH;I8zLXib$FZ8Qr%`w0X8qVK6Y-n@N**pyG{kYvzr!mC!KXjc& zAEMRysj08<$s8Z?86)`_FQV)aAbfbl%`4qkA3+~OTG-tmL!@A6$8|OgJ?r^4tzBlN znM+p9n#>`db?cTp!=^$)e#5kXbwqVChMW#vd+}BbuY;oZHw6_FJ&YkKp-gq|dmXtk ztvEA2;ZMTq&z$uBzRBJkRf`zEElKC`+{LNo{&}&ns9MQKb!6V!*+Gv`p_$U3m&`h} z--a)%0wA<4%TdMd9BOK7jhp)@$FU0Q;Ks)TWDQpQAjq9}-D0RHsbH8~DKc3qb0k3= ztmYO9-G_P|a}H$^oQZ6i%8cKRcgd8ghuRyl%s?W^xhm@Zt0Sr>MlsNE(Us*55l>Bc-v;M26y?f*tvdw|Bf?-?S+jOab% z3E>T`4HKe&%Vbop}}vP|7>y2Qt6 zlFnr@gcJ4#h9IUD61@W16Gj|bo6~>8u`wxz^W5*{lk^Ve^$vT5baY84LvjEXdj1$3 zOaf(-Tj&J3CxUl~ysU!P0?OsMh!1|kJ+aLy<>W3Y3qs8m(Y`hx$!DEt>I7Q`)fz{5nSzg9fW18C;J1vM;xW z1t@HDN?xv;lq+g=if$eLn;JN%y#VR;yKs@{flG;$noCZ1d`W39UxTBRQ_*-jVJUq@gBrpJX6cZm^6^w&mZg$+h|cDKH?s>%6ICDto~!{kHn_5*n0TZtYU*< zr=VMIz&OguE|;N$eQLo0M{Kv-!vXqPC?41&npGJcIC05 zOD+ZS)LuM{Ew$Nl!f-X`a7>MB%I2qQ)`E{F2d70H4RBIhFMZIw{aQ@I3|2QZgVJ$O zd&~-+mC?eUG0rUX3yy%mk|I@x_+u*SFC&a3!iuu7=gCy zmAx-0Mw5kp4DWi{03WHs0>Dx=mk+2fa9+aVE*JIK$sfs{14wE_hk2X2YMS=ezVWjh z^`lrju|B;*e8*~uG@t3e)_0U~X=VxZ zU~%(cvny(hPMjHtYW->OYqOkSy8j-=Q04?Kbt)+J@Sz9p(yGX*#O9fhFXD7|NLU-w z=Sn0xp=sk{GT+cU02PdlXXl_y0tScPoMhsl54QaWxd)s_>qc|S23-lWbTLLEbD&=c zj+-iBifjtdXjY~Y>krbuX1m81S}x^(v)uK+Li+EsU73IK*#42_O8jk-_A$eU{+T#E zLPzOGOT{7{s>EFeMj@2OtlKkxNLi z5XGg7ndHvfHN$6F!KK^}-w%eze|0vcmi~hn=Q)R7bX!C-$P%OKlsS}!Jr#LC64${N z>Mtdp-FyiGx&b{P5C7kp2&VM>}FTP7n~^R$dtubZy4o0MGs&9r9+;daj6UW7_yk1KW`U^+f_K@K32- zP!8y$b+=d3nx7cYReeBM$L!2XHhpc!AXH>5<`#mUlx*xYxG%=czv8V#zVdL1db^7{ zOcg5{b(-fhi;^Q;V~bDj549X^`ODa2#K_G>;zbl#k*u>)aULhlINccV3j;(&Sj)L{ z9C2MKVOrD^jmgC8Rw{)-cL^Ra7zM*?rrEHwBTaO&=2c2oFuHrv1FO(CsjF?eO4zMT3G zY5ZV!;oD2@sKf~tudyhUT1b8HQ(STf7WVni=Qz6HcIEF^yrjo$dM3m$tdyH(usaO6 z6ZoywR=P%j^&DIEiK!=}RzKxRqgN=3Cn5=|*jSQT}9phy*mK-+cuh@-@ z$=NC4&F;VF^$*Rlc?pTZx{*WZp1aLodFA*^Km;qcdou|RHZ{_}rl0(T>|VTykJ;We zN9bO@h5Atb3qU5lDL_jVKeSWuE$_DYOO1Ms(7OJjA?O-ce54)-RVX;&^<)2_T3ySz zO^@k@4ifeB zT~^&=&J(UP2y*PaxAB);bQ$kJ$o>HXIW%H1NlN!7x%4pMwtPmpo(fz%qZ~RqOQhtm zUZ~enOSqTw)7)pknuGyP@-$?C+ugG-&2V-?u-OY5!kl-otJzGM0HpO6u}y8;C#J?M zA_VxMS~ZEUJN!p}Hiloej47uBt?0Sly==s!k4q#S2S*H8pMH%?iG$SzvvRCt{NcI? z9fWg8GQX#Iuv5S0G2j@jK6*BM7p380Ge!@aU}Hydr`1O|$^xx__cn5lJ+G;Q1wStS z;;m}mIo2v)jy=w`L$P``1Z(g<(i@kl;aQnhRiUt zQX^-V8Y;WV5}mB}%r06c?uomrM#>s3O^cEx$?gWTHossiBD7Au42H+jqfz5q(=WII z=e2R`pO0D9{DFW{S8dQ9v=X-<(U4eo0J|r}n8$&AYEExwI8+>UnDXM9&#pEUNmIG` zUGg1WLpfI*TYiK2Cms_x-FnUsOu<-3E3DyNoJxEhwvYtin>NRJ2~#F?iqm|mR!;AE zdHE#_t!s)CThf>ofqXT}eZ-AEvJ4av#UniRD?)h4exz9@64=d>)aWP@g0bvY#3;TGu`T;%^DNQ2qo<8hqFpH9@kT`d4|JG%|&{K1&EI%vi)5Jw}-C z3@KyNtbnniGVH-5y&}iPoMRe(Lk)W989f8)ec(rjR+pUkMiHxr`wz-{R-xq)53g@E zJ1(Fd@zV&o9@%}3-*jLNQgta5ve+L*^F*jCpYC5-e@pI4hA`dShxpsa2R44=jm;?1 z#@c!GjqAfhw~xCT0^ztT2C3Segl&ejs`_r&kM-WF;BOmOEV^6u&3bp5+E?ZW=jihs zNaLNAkVC??JAf9n(y2YC-#;e2*87`>V@c`4p`}2XtfH=ir#|RG$%XwcrLrexQ)^Z&j;}wHPlW zFp6I3przkl2H0G}aJOo2I4i}xuC%X{C);Yx1i0#x zW;ZmnG-?BjU4;UYN3j%K-OniJ8;XNhwKoCQais>G>kDn|ZuM=W*#n9J&{>HU*;g!EOjALu!4U5gEtv~g~4Spck#6^k3iCLY=NE(#n9l4dsA8s zs4#%ByWv$lr%DMCO={$Tdr9-!IU2raw1V#GuttNP%IBON6m_ z?m~&th1##sAC`uhwJ_!)c>!uE!M%)Up;0Q5rJnJMS)l9RpWG9%#juX-s@cns3SW}X z>=4saFBhsp;|3&DO4;fkfc(PU9YxIWHGn5!>DSI)=%<;l^{!Y31%jA#&X!RztgezM zGL79?MR}Ca&nz}#Tf~u!EN7pcAeSE7>4#X^T!%b!$eGfDs7iqr(~uSFm|ufNpJuhG z!|ejqf~Ce7tHmB7VE zB;qXD@yE{jv^~}qNnPLsECiyf!L|02XsXv(q`M%K>xQjQ;w|o{jJWKxW1rL=N}`+`D}m=k%;lKVoxtTpB)-bL6v zu~o@r%V%oC;jHp=LOMQ(>^F}vD3zF*{#45W4~hARu@Fy~mKZh zhc&|CPWlQE9)m#D=Hudwtg0SiWAB_Y){9$tST}nR5qSujZa2$we>7=o?JV${^>`gn zlHZZ-H8+uB(Mw$M+Bf$3w>9J}aQ$0CA#?_mq+#y?<`7c=M+Z(x@w~8=Ld+&^rktNZ zM;DTdDR~krtM6!jvcgLM4yu(Ng>hVIeY15oo}}@ip)qNa!JXFwxu$qoeUvrHAU{R@ z4Z|;Y4&_YswB&&;3GxIdNlyTb5rED-M!OV3>*Yt!kvWr1XQME8JPl2CrwzuDNv)ByIeK<)t7@B80j>o* z%G%j8gxsaGjMd_IR6xiP+~Yp^NlZ;HY+WQMHCA1E36-ae)M@&lqe zBdn@2bt$UC>JcV+8?tP{>E)Dane;K1b0*SbB5BT{^_WN{Hto3U%EV~pjc^SpXtV*k zGcToMvA6rML>jL!P9GjGGWd%>0rgAljRvDxv_yGC6&u5!v_wf;sy8^Dbkc|oc(<C8sFFV5*QS z%tzsKRrVnzXC1UG^{IV>cO#!j|5XV5Tk>~})!hE%4qKLTW1u019mUWDMI@Bq#v$PB zakp`j6J-eD0IhcAwzU>dq>C_9#}COEtGUO6?Jm31{b(8!+95KrZ&uwe`ylg|I`qKl zqIYJnReSptkbk43{*~79b^P%+Nh5=0P73%2b@vV$b=vROWG`*bNx`*!q!`iePqX!& zBug|)g#IObXn4O!`zO>vY>(fmPs%t0C(ct6(7f|d(}M%DqB!Bi0BcMmEQgDC$oGuy z@JWb_#*In9(Xms|nvi)#d zwfxzc(^iaQ-KeTD)wyy9I0ed9omcfsaw4`l!k+Tmt1pXi!z_~^VNZ?1K$Q6P(Lvbv zf8SnWA`Jby*SFs+qVhUQ-HAW^)p!#DP1#&cYZok8b`@?RWB2nLRB@NI4!DC%8Gk?& zQF_k>RgbcU$>fflw6aVA-Ii|)&{ap@9Uq#hu3nFzBxxa9FUOC+jJvMde*9B|lx#RP zuaPg2H6EeP9xg@5Ff6O{5^oIpOjoLHSUrc7YxH221#l4vBjC6SZECi8InN{ptB6<- zZ%p-Uew=m05X zxbVd9zF5#Cj%5V3dRHiL9k3arCezL-8zK(E3}l<;e>KI_iu$SOro)dSm4)e+n69?x z+}V6j@!er9d4l6$r();@<)JY2**4C&Z%6HIP*U;} zm0#hhej;+dZ#I0GVAOuKIblpy-1n%L%Cpa=VdD>4mg19EPPJIt6fecwI2*SMsI*Em zzmT2v=-0Ev)POS|6g!1GnN$7@_CZ|xP*PYBtmw7&vQv6S;IFf}cpJ3hE#yVhkqMBA(v~gLq5wo8=6aTjo~S9jWTvKhFG~bOP}2c6dADkW zP=1yy=s>hhD;Y05g>dD253>4mSIEcjG$@CvzZgsC!cXg8lB6_M^7JxinG$vXa%(@A zzxG(8uE8rem6r29LH+d+U=4ha6CYJYRzV=vV5OoVK$^MK;>akTCpdXM!CSc;oZ_p4N>P>~vLDa_VS9%y!7tib`D?(?XhhO%oK)hDi9QHb2&4NqAh_ z?i0OSnP2Wh;w$&M)d#TU$xHZv@rq^Ol{i&O1C9AGYkMugPWwL?`wEyyyDV*>k;WYw zcj?C6p>cP2cXxLv+}+*XrEwa!#@*fB?XTIH-JSV%_Rl6%LPCWE-c$FS^V~;DBQq97 zO`9RnvC?PT7pI_Ny3v(hO5OfYSD16JND@92F()^JVy|usM48BQO%&0?q31P}p&rm5 zd9Co{m{F(*T~mpq$Om{ZxS*#sLv!Wko^?Tq{K$nhWAIM6AnT^gVmak)M-&nGt+)7o z2U7S=^4AeR=hp@dg?Riv1UfUJWBnJ5@pcp~0{*FxO9@V)O+bbN{2L`tGUPZ@Dsm}H zN^kY^M3U^ZI^3odR&JYhFxiG_S>uG_v_qob#mymuroWPdt4F)TQ{&d9o zsHCG`u^g-1;GbRZ7<~u+>F#oA&L!iJgzXoITjUd3^IPK_ga#scDtSxC#SddgaaQYj z4W-6Z+y^;-TL(rNW1p_{8p7MV@eQO5oqtoYkvK-<@!-n{ffC${NwM@5$Xq*KS6iS& zj|ct|t>C9tEWC2gcm*PDLq(^xEPGhJe*nr^Gx110-|P;f z+Up$bY=`@%x;Y~YFXN*b^#-|^E>QL7--eW7Xo zDQ0>vSD|&o-{H^Zj3{Okv8`B-tr@Ra0&YFdG~T`w8`~F^qT%dOkfwlzfnaOzMq#-i zSpw_xf~jGnZL%X=fQ_)?!giS;hI;Hggi}GGX;(3&?_6F8j9}vo&>?S7bRYoL{oWI zYUnH6I;8Fs+2FWRpqSHo@q$DXnnetEs9Z)jdudz~hoEBLTQxOo3_D?RhBc-}vCze? zOcR&?l%>{zEFDwS;3BX)aECm2kRsGNedHp^Sam~w=|oVm1v#?qGqNS(>5MY^fTZ!W zAf6+xr5Y^Hne{~Sgv+HHSqbDZou)hT*4!&nccdxOT{##{V0*a>TR@NjyUKtROKGU= z=T|N%+@KZjgye)IDRg0%+i>?Ik03|CA%W3;p@a!CwQH z#;?mq263{$kA3d90rO*ufZHd6UV0>V^8(_1iU1&zvZcpJlqH`04iDn?dcBUg{D{c) zvC)6_%8bwsk++Wf0#ALf$r<7kV)Yc0d*}J*0!deO z*3=q!9aJx%< z0T^j;D*?|jJ)0xBY08~M`7H<5Pn{n zh$TOk{8|N-Xu~l+HM=LPfLSX5kty`MW_q5$XLfTK7{mVXcs3#7N6ww@v0mArs>;5k zhXX|wCy-0B^k#a*<3*@9=pX0~+pzs~bPWNAKvWnd4+g1MNX#@cR zLh$clG$~ut|Kj)uC%oFu$e|5&rwsk5VHmWNN=40r5mp7*GLQp|ppglnO~_xX5;LkL z&GXQrKEr*3u?Kz=ynT5qh&*hDM^S5t%?8>paOB+n@csCBf!{)sO%U5M0ZXx?@?R|_ zmk*>C(hlVkSWB`a58=k-M_-r&$xC7S9c>)($DL< zQRbZ>!}_baIDM$x@GBR4WLwE#P~Kbq8TeSW$O`II|&4|!^Cma=mQjVYc7r>x_*Q=7VhZpyL@}Oo@a0F&{3#AO{ z0=Xf;Kn+)rDRKEYNMRRM)%o`wXJRjvb;%0Cy$LptHNa>pn-iOl@%NI#hZTa56gC!a zah!mL08^A_E8R9fHln;(L8zzzH^vV1K6Dmi|KR7F?Te{a0a(i04pecz1r1?&otj{}D z*f%w=Xg0csTAr@#XiD;zO2re&v@gRaNJo51^vYf3@%0cWb29;EN|C&l z(i~rD9hb(sF?~Tg1}Zql^{T!i%1Ymj<4$>Z+{u$aS+fksDCN*^9);%+tEhL>pgjAm zl~YMy-59czo*}Vfr(OKUqge@y^fjNpl*IEze!kw&BlMgQvKVwHP%6KP3FFNh&B!TfCeku%D~K@nS0p{2 z9$b?zPpS8H{BEwkF=vAs;zBE7d~Cn!lTcxl8%A%KSu1aIwy*gVf0}XIp6+52G?RF{H+L z4vdOSHY6#qX~fqzu0+3;_L>qpq|E#vd9;$(?A!9tlM-|DqFCyL=570OwiU*sx=izQ z{yPiv4W%9IUn{}j$(-s4C`!Wqo2|$Hp%VU%^e3r2>*6dTf6|I+s8?E38*=H18B3uO zftIfiT1)RFQ#GT2CsGZ_2w*f~oQ5XV|EkYZ^=Om6q~e)rfAmgRh+F$3d+YgG+Pt}} zEtwli{>*%^fM2SUn`yBN7?^y&oPcTU9>sTv}c2 zhXliKyc+Bg?m8Sa$hx-bS7jXy-tHY0a58N6^dkq_xa zuh%KNC@6GQuD#Lu=xXq=%X&n!+uUsUb8L>ft=|OSz)ADcPOfeXJZjES$~t zEqv}rt!#jP9QM3ij_UkgF909KDKzJbSoK`c3i|S`E1?kwt#yZ#dxHTvJ0lyPhp@7+ zftNB82+b+XD6*m2nnYINem28o#+VG@Kyu=k^yFh5g+JN2S}I8Cl>22aPAiR(X`=_} z`gA9j!h&zGPsZ!4#&}kMHTZ2n;L;yEDKeBs z6!ZQOxNN56D~2)}2wN21X){bt<*f@JH4F`3;HK0MWiLNKg-w1X2)}sM2q>YiAc`>8 z+3QSZdHd?h%ng;L+Kx5gHb8vYIughqSipu3~U=%!Lg4l{g@jDNLYe?wK0{B?y8oX+Lm5R&oX(tm(M$_ZVIE$ zN2@HgNj%(V|EThYXK?7a?5&m>IR`mxwL*o-Q(B&&gvCJ!BT@p8P|}8v$uJ<(vRk$plI%`o|sK)?-&AiwZg;)#BcJ;MLGr)PH#Z9VmySdp%v zX8$O19~fVeK#=>__w1sCE*Cv7G;ks3T1dkMBSVbkm9+leQtk9+h5jYxeuJOAGr{JvYG)l@XGe!w zmQiuGF_UDsA^S7PxA`Iumf)VdbWW{Txn}tJ80o3LjK;-dcu25~NW8bFh?f(01?vQs zM|GedK86Ad>zib%y;)>o!qRTz#;}C!x+P+^KCYELyT5Xc0kaPAHJ$pltN7L@SvIN& z`Ruh3dSDGhQ-My5tnmjL zDLNS0*CL%0qD=A-faA`HIH>LYi-s<)=}Dk1!X*3TTnhbgr1zs}*`^Hf-omI+{lki- zx953NchjQG$IELBA81FYt@qJDVZe8S6Z+$RXDO=G>t2#5+vi+86&YfMUwK>B5RNbh z-e!G;nDQL7Vs(@Q(gaG>;%=45V{RqLRBA~($!mMXn3lY2gTE9yCOob(lo&8^+ z`!K!o)S8|)&C+Y9aTr9O)Qkw1)X#>^mX`1qv0hyRlHWcPY;DAGFE@X+N z6%h$U>s1ZTs@1$Do5AT84C@Hgp+8Iw>EbODXe+4gipS{e1eArAYI#^BMIlfyvz3O0 z0=F9JryYP1!=sgCziv1jhFSHJEn+G9x=9jWBYh8w>Jq$u#$(6zSywEv2GnJmb*E7d z4Ykd=T?BdOL1F*s_;-?M8_Q_21imERQFR+>LH8A~DB<6<4arg}`28ug9QVg4j|@2a z$CSICZ0`hz1^b{BKJlXlk&X&t|3VnSL7N(R2mg!R-zoLQhE~U9lhvb& z(k4-J02^4X)Mo3ki*=b36Wh@l)}vFNYRyaS0|(^+@(b}eg*pgDa-%Y_T@r}qa5!8D zb@a!)ilspWI+26W+}r?dbb?(}^qd_g^qgJ)aJs9afEp#QC|hty*$o9Snxqu9pEN~L z);4H0RI6{Sr*iI~MyF$rFqs@KNe@XvZad$pNCHQkqzpvC<{u4mN0mrfwEXFsR~xQ$ zhJK{Fae>YMB!;v!k~2`3Sy^a4%kcWRKl@0%7~W0Ua7*9oS2KyNk*+&ljxfH8AIhy- z`H@T7B&D>e|FtEJU{sOM!&u`7swv;KadXyq`8Me@V4gUosY3SHL;y@}^y@2Ug7y^J zqAMgZi@F2ZUKs5=;;U#HOHwDK)}$q&UD4nTD#Y(w_9+5Jzmy0Mf+5(<`QE9TSi~>; zWEujv5Ta9CyuUBq#rTZ9H;zR86lg%`{rIEdzxC0}Yf*OvW{7RI2+mcV_p`922EK~A z0q_a>1O?yUh!R;u9z;S!9n7{CTcDiRXwbV~NANugLgW?^riJdxnh$U_zU8xoG{<>2 z@?lNp?Sf>1O~-x7#Bd8bRcZ$xT=#KBFkN}$aN_H`n%--}^%&&wL2SzT!?E|cr)_%7 z)5C$O^7z5=%>xee`A9T249cE^?}Y(i&pbndNFdC$ukL1#FtJyc1otwcOQ3#wXd2oG z&Jit-LqVgD(h!ck)W}O%fQWSu^`ZX^QM08Qc_6N3(8%kAg1$$qe~09nwj$_+x-9Bp z-4UL0#rS>RE|5y}n5?NW+Wv0GRIAsLI+$S7agkn<>wQh z6J_RZF+n3LGbqEMi+KrF+a;6iN3UtKTq~LrGh7D~^dK5%c53EUuKs3YYGAs}c|X^B zeVv-p1v$8)43SJ7(PNFkjfA_f=Np>fW_xUN@0k$5jxgso`txATcXg)1R;wMNUu$pX z!w5eF6InHJUji4r@e+Ql30G8FV#sM-AkI=k^VrE0_yv%+p>*4msjFt?67y|F_iWb; zB_@Akj%l?nkPHAMxlhEZIX{+V+b%`lH+#<2cRZR@pl+OBq-9ypHax47qW1cqGtFUF zFS4#=w{6x%PG!4$S-B6&?5S!W7OY=*ked>%d9A`M&~|jlRgKtAy*en?dDMk8Bp1m~ z&;BUcrL8VIt4I$i|9mJH5&ac!DzuDT)?&I%;!G52kn^euIyCZV?X9boX^dkgBA@n*7ZQ$uVkM653S{JDo$K4mb%$zg&EEmeD z;h0mto;!szaQn_gc7Dc4Mg7bVj8VD-Jdt=S2xe7A0>1wOuPJ|fJB%e5nBmY zp9|hr068*B7$bgLh$trSC-t3QfpOT8OiUR*KAt~WykQ2ako2d8L~J9Rf@;7K5YK?C zmq}mr{y7R}#5uS24*RdQz48$PIs~*BPXzMWDF1!${zq*KyBQlg|F<8iYM3V~aMP`d zqjpz^8~#?y5C-x^AfCasH69H|aqUHp2FGG{P+ii}GprK50)30wT)?C7SbL?Bs8iNs zs8Mga6`Chc`tp_cGu9`|{a2-mLEhc%;p0X}+GED<#JFbXO%A3mWG&t&!gd`JKH}~K z} zwmjY42pl&F2BF+|r??3A=0p12k`EDYuj1&lcb~x;at`N3`=7o|5gcx#>U+f>%3fa` zBk`gRnlAfI)jb^=pZ&&M`W?~nLR`~@Hkh*fR#V%fD)@vwrEB`YMASiOh@Ea355Hb*jE?<#B~gi!ak?k1G+BP5_8|$XH;V*4oUN zr8c0r43zg?1}!Hil%2BtQj`WgfvZBXv>=ufC+|3;b-M5cg>_MFpP-y(h*Zp}aybE<$COE<_nKW#`V{Tx;g_Siaqk>V zc^Te9M4}if86*~iGxV5&rWJ(y#0f6e$v!M4HW`y*TRM!W3p^#@ig-W2tV|u$JTjGo zGnQ%2YBT{-pGP*VqKv7UV9&|6ORoOx{0kAaTy6>TnB_NhVJ>A=Y9i!U-y5Pr=*^KZ z)H>9bJ1bOL-uQ(QeD%XB@sj%04J5$bF$;6YxGOn3w`z1VTkzn!NwL$d! z7gZsHZfR{<)(?4c(=yyaQgGST*onj`fcgFD0P%=&X3{LN`+2;kyy90)EZx4BPi@A% zfEE$5-xhn;_5DOGD(&e3%w5vu@8Rk0bl3EiTgF-iA6oWqrHL(fSQAzB(BebIW)R$* z;)6nLw$wJ!Ch)|!0QC7ug=4Ft^fEno89PCkZ7!Iuh|9XZOU2c;u@m_#><*P)NUf@zcUF*=OK zNZvBb<S0`>xp5AU8;j`NOt+wT)T+L3c~Gz+}=V}|pW7?LdW+zgq@O2DV6EG^8pt?_lT zThsV_eV(P>CL6WFO*2`lWbiJaN`}@0I>RuK3pXQlv#kk1He(R$Lk3yij4;*7L}T}& zD`@lU3-Pd~OQ0hk_zzu!iE6i%$rd=gTuV3&$blvlv&Y+T0-Cve#!~3ZDPgwk( zK%vg?Qcf$9m)H;;VW*T39YLp-kgkxUetZv}X&!tJ65_R7bG&VQ8k3V1W;&vE?<0y4 z(EN6JS*l!P(3vB!6Or9GVPkL%BwU(;uE;-`emI5G7;8ajQQ_WSYf%5de{%pO5D>eH zzjhDG89ISrjuhGJkyPVur_AnxDT*XpR8wD*6(zx#{zefAzVc^#I>~7bgfF_8_Ly)4 z!pxLbM}%aXhOEO_wU#@(BS4JX9zq(LaR+RYB3`wQ*e8wMn0d;uNKHiLnmK0PxN*E- zenZpnvMH>y>0yKCVWSf*^@w|6Ipg$v0$!kYePh+^(i+7xgD&6sr(5^H18?t!Ya(*D zOW0Y=jyiWp>aHth@^oud$MR1;&=x}o7da=__&J;QQJ&vzG1Z=QIx*gl#H-mG%uN&UEHmF!86RumO`N0U3K0m? zxCbf*%xp8JA58OeX?~|UnC3_+T~iSf>dx@#!iV%ltfauR8j!#lo5uUy$?ne!@87@N9`c)9!IEk89ZYrl63LfG%s_P`DO)pzaDJL z_NYQ~0c5Mj|DS zd-^kWO8)*r$F5lpg1y_OkP_~Yz>DqgQd|rpant-=clOEMiFB95*Kdddx5sKn_+YvNC~KwUrh$epzo`J&aqrfDOMoBbfvI5EF|aFjf( zlk7X|`JE*J(3>a^#ucL&jK()_N&$f(5>PoB4Fi)4vI}Vi-5nW95F(vhhPzr4AtU_;Kn6Q?$FSM7!cd@=py z`in=8vk7PNe| zF{Y(o4_Gb690UNd2r}H6`sUDpYVjFM+Ib%8;iyL%hOGd7OP!wa-c2Y5w9cc%B&^Es z!KWPl&6MUw^g7;k?z-(=Y=7#8>?)2qv&ljNs?YSyS@TDsoCtnY?be1{d}|kwDuor9 zC4kB3c2Op1P`$U-ofq%xu?7I8Q%OS5ui~lfVmtTeTNo% z|5>^JS&ILS@BQyZS*4<>iUS1uWEl1JQXRqy(euz_=Yk4TWlU@SVcrtPCTG=vzR0j`i)yFvBaTig+AV68=>5@5QrxB};DjhkhcniB4G`z^AOq<9wMAyQ9i&tWNwdG$2=@`ad5A8jVSJ*2VNyy*jC9aWqcLp zE%g>7RP=_n}JgL{|Oyb1UVe8~5u)&!3 z#IBLA?3U5lYc}c#69?4Ix&X~_v9KCak*}j7UE?sXt0E}~qc}ba{qjRmeDlMX666QF zzDf^*W`~y!mkOll=Zd(#HAi0ll!nH_u)=c2z1jB!z-nKQh8p-+FSQ+@1ixdaJxI8U z6-_vFmY=x1jxvsSSY-a;j^e&ip;(zR;^==GaZ7qcKLy8NIrA!{>nACkXHiTc`9u|x z<)bfrsXL#x^lV+pA(ck(ux{Orzd?$0YIaj;a2tzqa{LC_w2)fZwovqkfj3Zxc0y@% z6R=Xd{&*(n;dnwj{a$U^(q0P0m+IPvkWP}q;c}jx6}qvmEgm_f0hOHHb4D>C@gsL$ zhXCTvr#@=$pITs_sJ(8Bvo9F(&?{wZ$ZAgzXB>E5srk-5#sGTwjh1Q<+FcmJuU^cp zuU3{hyIdn3fzQd)*y69|-Po{i2%FWuz5aYHRDa0#aKRUL5g-?Kg~AaaU3EO*1#+Fk z{bXh@8TDzI?LiqH#We(RFM!weFG8Kp3gn%IgBnVIva@${toKEv~ z59Y){bw|9w6rm+X(Hk4Y)n5_q6G=b0Krb8i4Uni22}OiX)5#q5sr9ksLqyJo=z(3f zUGJ}6?;ktfd|^9vuWuH**0x>rcT5g*44eeBx7i_K^KBWN*`pGt$POf{AGVf&t$Tu% zV*kp+RnV+3b}O0Dl{}AT^XqlA`(L4qBNF%=260JrngI2+z3jEub<~@W>ler^xCs=PB}V;K;dSA_9*)C+5}tsUJYQLYGE8}7 zk9Q?|WS1BKc(5dg3Al0&tV_lKNin1ont9Q|n4gGXdF#lb0a4af(AMviA9n)6L&&!Q zp`Iy>(PiIohJ#@mQp4^}IP?&|r{qg+4N{AnnU!^GAvLDBy%xifOYo*WFW52Us^^Q} z7omd}b&V_aRJUEPzKkuEfhNia843jF-o~gRpZQF5j|q($Hn$4Fy1&Dk?Ef4G$J5Tb zcgmjqHG3h&uXFYu9!*xk>b#Gja$m+!G4qmM#7=3b%>-A$Xu5uc<=*-0eDWHtEvJ@e zz0p=5s-YfYJga}aEF9j_e%57?_b)RQ1-KX-7VxQ<0-p*{FZtJ@=bxU+U#6ERd1=Z1 zpGe-b3xjhtlJ1rH-&rtj$9sN~jq%DiME!w8wROK*{#hFAk<-&L~`yRXFZu;5kf? zXU$+>fi7BUYdFO#WbLZX8Vo@bUR6am2vaaS>hYwwgS79q;I7P4NZjY#mSt>u!6a*& z_JG#ftX2yeJD<#`3A*rw?VE7f3B-7gq-t1J%J^xf=bTO>fJ&2bzFcX1&5Db|Qmd=9 zmM$@*f?%ii+j8&g(17R7U+f4Q&u2mVffFLz|0JsXZA$#7|F7&nm3o$nrYkD23zNgA zF=MTun9Vw1!W2SV&uRSB;HPY{pcAvC5)LwFEDoHNN|kC24SzhP+ZtfoAAquht{l~% z&GEW2eG;6zlqyaTCy%2g@G!|4`*?7D_;@h?cza#k1nKa*G+6S7z_J}c>J#8<-ZkLD zuoqXejo5a;z1)((Rm}_67Z;(8=4Qsa9HspINB&*|Bbm0+QoaLocM&Nei89<^2u)BN zZZWup3{VfJDIy$Tm29<6olNE=qoZhBx*T4Gv#dUWpY(^f0yDf^yN(&!^VD^yTv3n) zqrRcJ2otto=qRsLC9ggo{k(0JjMMri3!81uAx*TIxjL#S*p#~_$uapNHZJySpJeFq zfR?d%6Gs9eO}uU|BUKT^x=u3v+VE5(%yK}{0X$6x)7@EXTYWypZGwkJj6nb*z;E;u~7)kZNQE4tJ1k8D%a>ZzdRlq@()U0?4dak+ge z`t;hU|FZ2gB1u-M{??(ctM_Om%yyFwBn&kv&4fRHuhLS1t<+$hzqvA?52X|>4DYeg zQU7vGxXlR&2`D`slM8U=(f@WJ?F+V|@Wra9YGVP-wk!p1!c}NmJa<7mQ|9SKHScs; z<24%mzP=h#rVzW3V#c2Gp05^HeJUNDsw8V#`1TH51|C`o0?Ixxzebq7Bsm33xL4*Z z-d?en=1jR(6z+?`esjR1z33nm4Dav6fEYVf0aZf=Bd^LWRIkyQ`CN*7#(@MYA}EO0 zTHRg_uVTVLv;>c`hiq*XJ4jP>+)|sl4H+A+XnP3VEy?ZIq=1_1r~q5xqxC5XCA{mj zB1?@)m*4c=BCE@(Y|bj&+^*Me=E;;#)ncJ17qG+Ji%A=gjN}0oO6<-&RqF|2%x%zMERQ`Wm+qo~bUZ)Hm0w+$h-^ zV$E!T^1eHJtc!%N72HQa|M>ZQN;JI^yWa{WAI%k(BShgb9caDR30tt|1Xuu<<(@({ z&;BNy*$sG@Wg5uBWRUVP3QnO1V_%TLCBE%%ME9wn676{Hlscu9FK-!jAfL2Cn!{&@ zs+U0-*x{uxLpKV<$%SDYY*Muwhj0(nnTcQi(j5OEk;tvmwTMQv;jGN2cR+Sf0_dYNAd%0kdTBw&6+e| zUH02UEd{6K(7=UzQGdIX(wKvZ-`ml0`-Pw=YPH+(-trNcY@EKkfej;td=(T5I|YaCB01Hu%Sn|4!H(P&t)Bl}GxRY_6@P zkwf~iflTGEvxFhkL#!c3tDqs41pY~5Tm@^KVug8)?gg^>1r`2B*mX`=%#Pr*-*w5&89AWrfQN$773T@{;Q9wuoPNF8T29HPI5%0RrsyBH~s#6Y{_ z9|{f4Dnj&pT&?1Xv+4cxZv}WeJl&vwu?Mx-cac6Z{zfW4#0^YjavAU7EVvGb zR#}F-xqF)Sm-GSuL%UN(z?6#4a5%)B&2ZOh9H_rGABXu;Y;$%(k@)k`{0Cq4Hm9pq z98eD&5UjWrSn}P#c_C4eX-+yx^Fjqcrw)j7Y*OZ7;9x6uL09C#pEVE9Yj}iC`sIl} zPYpH{dLlJ)IIr-X8KdL}UUdNjWai{rU1NSnsnux^5QpG##X(>?2@fObK(PNVMOH|{2?j%0WDllPiA;i-Ud{FkwoX-_{0 zFt1$XL;s#boQYGJm5J#M!8w9xuK=WIp~vm#pPr!Fjm-{t8Ny#O0%Imf#Oeu;hw)SF z(Q7%ujrj?#Zf~KxSx^ww^T$xP_`2N^~*s}o1s-4ci0u9KLrhX{luFOvY=!FmFLS=z>*-42-)4NEH`!lO z9RB?Q^dBF}zt5zOfB!I6C0WbP0u>&gEjXt~kT{f~Q?LO)VH5N6Lm800zK#f?8X@bX zYBh6~uU8$10|Q)sJqe&B38C`&5sbRosEQhE!VEGW^Bk@@`W|L_PFeeYygYpQi7bh& zBxNCHSe`SG`6%0m|AO zcj^XW>vh5Bo5tUAB3*NSFp;XR{pfX^scqKWZ0<1iS|u9O8>zA@8RyYF$zwRaT!IIj zb*6Of^SJM>R>z){BPF-&T#57(&vRpQpfHK`;Y3uIRNgv&_^fI?wjHuX!3ic5slL&$ z;n7+gv|ldgH#0X4#BS+GlP|K4{5cH&DlotT@GoAAlt|#6ubuZ_BU14~wzg{fv`O_H zM7OMdQj|WZflKC^#~`4?79Vhiq_4!^P2C+C$VE@=Q>J9oT$v;emddN26)j zI$^4UktPhO{@flXOvj843l~v$2Y;>6dMOk#i*w9MX1JzgPZc4&W|GPwkH{#MWAuu3 zAiII*6u9e}q@RB-^eao1XfkG7utet*5gyfgz*oA3hIU;~r;2y!mPhAcvU+}>L{7xN zE7g4Xfgq7bSOF1j+0^KmNxXjffcUmVt+fJnzgz6|yxu-|7FzBsM;Sf+PaRWp?vzBn zpI=hUsQ-j|rGNNCn&iI!CHPaZnDzJs*onM=(Iwpf-{tlnok+mg#MS|rV)AcWk+mYK zDw>Z?y`6o7nHYRhvsocOAzcv24{qOR4Yc_pp)dX$RhB9DeanJ`W*DQj@ zVDl#DEZsZ7J91X`FC0O7fB0yocL&``?+cD8?}xR9#~NT$g8zvPBo+OhVX$Ci>{Htr z9*M1`CW(*))fz;Pmi=uMY^dDBn?$txW2lKp>#&t*mz+0&A<{XzBNB;~9R{}r3-bK( zPQ)o%pV(GoUTI#T#ZseOVOG)7q_Y}()qVYsO@)eJgF}$c0{nW{xSjV3&IfrPgRSe9 z15*avOnO@tLnaa+%A~VW-F40(iaM`DUEVUIyePtbj1syXZd>_0&)j^`sX`w!V?S9I za=%#LY(YcXnwdF(#yvjr!AXb$Ug;s1=l3x$Y=5men)Q4=tgO{KGkcfbH~S$QYK_K` z#RaF2xR=iK@-h(?yW07I9gNge7XSx&b+8K}}4%(rmUJ`W7T!VTuil+r>7(JuNX z!D}!w`cl1=8;7m^vE1>I2DjP}8Bg)MR1joV3_=~GN_L2kSd7_m7uYfIw`J2LSh9GH zgdGhDO_o%1lp7aH_*NaT%!`EUMOs5M9OKGH2Ir^+?dbSm_eC`Z z4xUu}!|OxU^jnYI3-7-mFt2#>KNY>$ZJ(d;^98NNQpqYyuF4+e20s_*+O?~09DA7U zv=RdDyTawVQzTTV(5t3HX(y)lHI8<9r&{aMn{_1D6>>s%+NOR6SC%is9deqtr`>qi zmYB!zi_oW@h4f-T9b+w(Tp)HTxkD9|G>AM_m|sbgEA@V7IsGvbf82Y!u`SV5;oLf; zgM69OLfMbs4SDI?^GRm2L#czD2c?|4p-=q{Z9hxI=Sirkqh$; z1$U*td8HK~t0Unc?-c2J?2vwBW}luwnx`IAM?kg0f_8!Ca0%Xss6coZPEpI~0(_T3 zwPr}qi$espA_9Qpd1vm48(=6Pk*c>lw}MrP%{hwFG?y&o+Vvk~(KBGqAoMfHo-mm< zZXJ<{M6h3a#lS|#M6e6K|1fur&+ac7K`HW4K$+U7-nsiBBOkMc^xM%Leup7*fTl0F z>{IJz8}wdR^2YaHVax7j=yD!l<6HpVuZa9#&JaO;M`LjtM`IgDb0=UVk|I!hW@8GR zYVGuayu<&@t1ePpwVC~i#B-{(1{nfqgqKs&kjQP5XY=N#lm{0Q2uA}|DDSe3k6IqB zqgpL{LjNG5>p%;G`px7U)H=DMf+S5SMmaip_B5Wxv3p%|dC3P-x=Z;5ZvakZF0PNq zd2O+-rjHB{9ZwmL1>mH}$!NwvDzT3WFj~cf0W?)R{k|P(rRy-? zyfm13MmJzCb8(5dTxu%I?aQ@PxvE+!m1}N1oRQr?52)0a5PB?!lrp$Vp!;gn&Gl#3 z_~sG`KO9a38p9b)4o1I62lkN7kb{51G7@nlwzvQaKG+mY$mBBrW~wb0-l(Qec3G7 z_G#r-+ZgJ5Dn5Ua!r5wZbZ*7npws|lzet^Ip0f~ja9CC*vM;4S3FuzQ z&c5pL;$QDhgIHXtfyC@WZ@4r1X}g7E*$lX#1G%`L-TTqf$xZAD5j7SXxP<9F)CS1ZtJ{YHy51)&5(j+R+3pAtZcQYQLJQ`x}~bPa6u4^?}Sd0|8A$C zLMTgxn#x5>w`w)7WEIF%F`6M0&zAi{ED%$zGPf|@+420&+AnI@9+*3VH$Yy5weeFbn9%hqjxxIo<9 z-QC^Y-QC@VxVyV2#E82<+?}|)8^jaB`?%-cKj-9d&*gR16q71?t^RuUOn2|@y|y!M zsr!b`q17C*DbKd{Om3Kc89pL|B1Hj)^MEq8yg(SXxREE;O0)smC%q+SCh@HH$nVFi zIT3GINvm3f-j#5*Uq{uce$c7rZ!elG?){>=&({qtM5Egx-Gzr1Y$qrTd}M?v6dd6) zfw!UMyTgWeHbEI)Gc=0HUgP4EU|3i?eil0$Vn-G=N6?mI*b*C#6NS<##mKMlIuI ztM8~Ba;K<-5;$k{n9uAM*y`54BE(?1aNb?+*7JutQ$QhCMM%5M6Ud6WPOk?D5=$#Kt$u~x748Dt-neLR##ka=R z(`{Amhz?(?0ue{KQn`Cy3-h+U6T>7p1PB}n-{9drFR}ptFEhS z&7X#8@x3e6(>##GKF5;C^pqoitzs1YnKTmtiz&Y;Z8T|O8{HSDid9~VBcf*O$J0(J z8BQT>#D!MYW?4v;K##iH;~I|{I%;=KsPtPqWQU%{1Wz7WaG##kGI-Xq0l(&sw# zZ(O@kZeOUS{_Q7IXD0&bAODTfL-c84V;<(agMlPtjr>zk%mM| z`qh9LLdW9egpLKHlBDU5Sl|7D>P%KUEPzsA|q_j3KZg(>!dJEZq_t-UwU{h5W)q7)@ zrrA-d`P6RQkTwfaZzyb3Yt9i3xiqRAvbM=eqc?2Y)K;!cy$kxWD2h*+bf}bw z@(f#mZRs6uV<&7GE7OpPDB8yp<_5{TFq;KOdU>aY=Jw9Q!pn2o-S&FYmC3!NBlSFN z+_PbK)fxFS$`*HdvIEc`O-6CV?dw=VgUV|cT-tTbA5iAF#H=ZrrGiM4of6lolcD{i z_IWLx`5b+(=e{Qp%wpQ1lF!hsfvwn|VHGj(F2Y$6M+-)pkMA;XHjM%Wv3S9>H_8m^ zL<|J8IZ@C_X7&W~>9{!WG~CV0htoTc7%N|Oe}gmSYgQw3fmI{HX!&&Znj-QZPVH8}U zQ?ct7n(Fx5$K0r(k(wfPLhEFggnt+9DL-D|^kTCJ@;(jA_JJo#;NWelk zHnpIt8|6UQnT(h;>4d$7=g1ade#ehcZ9|m>TK~nv3bUej()JaK*IO&G0XN|bvNzDX zKDdiLyn00tCl7GTBsj?s&>Bshu*HO#1>l1!v~YfBK@h}9DfSUK06E=Zx&=RC4K`z2 zD#1iAExe#Qi>+e?&@3G!ZvBEIGntcZ4mT!{G#n=aUy$RY)rYAzcZd zh%~p9*`}T?`oMKC~9lbU#vec921HJZv-h@g|P|!v2kD*xTJ38(#y-{c8@GKP)6bAJ=Ix zDRAyGrQ;JAHIAK-qaqCdTxWdd(aR5!e= zOMG8>fb65dFo^Jk7oigPNzwXw>Z`h8}u!+%#t6w;gMI z29pPMc59lh-fI=!(rh%iHF%l3SLhdoIK?h)Al6SSebD4An%}l+F%Z z{gG3Gd%6!GGxAwRxz%C?s&5Sthh?M82eQD}W#kF?Gf-%;X)EJs*Hve+<7;8~Zj&F8a-Y!0wJg{<~WGT}06om4OCa1G&C9zk+#^YDxp4&)Ea2iPgjcCi`l8%r`8k zn{H0YeB^8o#NE7sOS{gs)g~=A5nSPn0!YQis;xo8z1)i8PaLOohR$!jPUne=?M$13 z&YGZ0YOK<&2kAM-348Q=?T*w}n69Z5%G5LoEW4|2gi_{$j#8~p>A`l0=hQhMFUfsC z_|{8A2)@wUu~Rh<(4w8#zS7C5Wo|l0FU3R^2{J}=)+)QFZai|=B^Xfb7;UO`(Vg{d zSIAE?Drd+EjHZ;3L$L~N&o&v*0vnys*l}7qPtUVX^db6k*kI^G}sj~_Vt;W#R zc;Q-dX^WeOp2I*!5LX^mBy>YtaR!)rSoZPk;Kz|J-yW)POMMh5n>*zPC#UImeiKfZ zBV|?wvP@pzhiZW-q4Q5JsKV_b_cs}z6t6uC)7u|DADHhMYPawLJb7O}7>!J8lxJH{ z0JXm%>ggGnv<`7buW)RRN#PbcCV-%Wo~{)kU0{ib$$$hx?Uf3#5T%05ljayyFn@#GSBOB`k1}}=N3wZ_YRp61>)nt?4Kkvqh_}*p zqD(y8BoKG*`Mxy;ca4mFo-3|k1lh=iXT&;?vM2oVa)j;P_`t{S%LS5%Bv>c?W-^qR zvRP!{mEOt`12Pabz0^7$cC6Mm(Yf1)3MX_H)69ajLOI+@%0ZB@L_#TF^w>ff=~vOQ z-(mhb5@ZrM))fQJfEE2+R_WJ!Lw~##e;Wi6<+XmwDsk1S)jCT_)unB^M34!SStIHY z;+yg!`a#BW-ZF~?oeUT&8ZaR8Bko94p> z?);V^j#&0?&vMc)yTZ_;&2PC9&~{fZOO$SiB|aft83?KScgO~9P>cn4X6S zb!=hILpY@H%?bo=nBFVVB5G^3oN$Iw!`wNcC!-F_$h$_0?PM~vWG{Go1%iOzp+heuVm*awP~V`>x+Ah`8^q?0+XzLS z#nx`SO4p6hYVC8*rIK0G5|(+d7^7<1ae6p4HXDJR-6mOtOM6GQVsP3DVv@v9HXzXN zTh!>aLI+lIjlV6WekYLbT!F-6sv7xzPHU;OIZEj&UFvj3D7=vq`~=qrUFJ1C42Szc z09CS&+K$vAgC?mnLR!>gL**vi8`M=zQ4ZyB^mdb?;}Q99|M&(%lYc6%D> zMXk?t5zV+Dl~z2o@{M}$gycp$E2bd9VyWou59o`g^s|HN!G5z>>qWo{SJg-5(7EsZ zxHWsi+pj=*)D#Kkb{g42n1FxxIJ;-~t*Jw#Sq&p5)sC~9rFZR!)q*2!;`s0O`VRMoQ zhd02;l>kQm|1sD7weLPtaU38SfcRwWycAd%7$%EEg|BQ%R)Yx3FCJ15Di$v+NlWOC zF;oDp<~(?sbX)m(FdfX};&mu-U#(BV#b`sGd|hAn*aO{~$5}dy&Gk`ZboQ%+YI6hF zT4u|3RZ`WIT0MPjnrJG@eXF>rKp`ljpzWZqigkm!h+(bJ#xrZl&;(99gL@VETxe~G z9@K8aN8SQWt@yHwr|hHqyn)aQCtIR-tI~+1m1MTu@x5EMMc&loOqMxMys}uemRGmuwquV%#WDFVT`1`BQw|!a zi{dnboCJ>7mP~+ptbJzo_r-m#Q{uuJmq+D^nDK;;R!f;?5Ud1#$OFWrYW)p}?&%K9 zGW-N4ngs0+_)hp9!Ry{Q0UuctyI51*-ITm3dg?C zLCGoR19=V{tJ8|6<*&p9(saX2!n1}bt+f_QFxx>!U$B%S zuQ%@uJh7wo+5FQ9Nd|aA@P)!809 zJk@Yqs$&GS@J7p|3mYNER6P$oEK6?p4UU83s##ygEKEs8|#5n=4T5u)=QQZzp`kP*+WcKaJJ)Mm>?ZmUvv zvJ+aMj4K-ev$6)97UKCGvr@9Q_=jDkcBNtYpA!VGK|(!xUU1lpz!1_wSn!Qp{1E)Y zLM24?z#82-LWQk;!=NnMLawmW~ZO zLMAIqoGLoy-c3)U*4{>Jsvpx*IQG|__b`tWeIs+c*YIu1yJ;si>U(kqRe~*iO4gdu z{;HR@wtb|ySRsd?W^4A>AhBgx$-Nk-bj ztO*q_aZC95lEd_%g{yNmiIMZ0dTDRQr#oq95SM_yOyee5i5T8*Fr$R&F|L?11f{{e z5+I>LKC||q*4a}Iy#5~9SO03Jnu1Ocr|a##YETR!OsOJuByE^XL%&!>NjaZ{Qfl{GjY8s*k(h1hj zoOGK(J9vi_I~}$Q<3ICw+Lortdc;PAKZU2Dp1n7YweLZKuuA^2C}fHwXa5y1A76D| zre~qDB@SLm`B0RG8cY+T0QVp~g*gd}2WW{+eg+JOM`5%?38_1g7qD`ClW8FOz#gvD zcNP&qmrWHe{k0o0)BxFB_0eE#lTpbnloMXx(%6ox{PD$EyEaW5wKTwPY$f2NFY#}@ zJ%7xiGu7O56=#}%c%|-0TT|l!zm9+u1mqzDBI2KihGi0ejSAe2ze>n5_?Z^LgqUCR zP`j*tu?4w&X3D&DW|j%BXsTnjf?MN3`yuPhY4Vz?qqnd^%d$dd^=z4gAytf;_&R#o z;goIdCe!Bo%9*70(|&3`5b|(*^SpoKmo2L+SCM`=N>RV z1Kl_mBv|aLbFtw(7PsM1o}MwmpEkQWA91+lqYctxHq~R_Z||p2V@tKM8;8>1dS87k z5#g2FKHNv)!gVw6m5nAdC*r|XC<#XdHcTT9WEa1nmPtBD8<~&`a(N@)BWGONPuWYS z!R06Z8AALt^w2JDYI-+4p2Wcj8|PLwULVWJzJ~al6JWD%0*x+hOm^72PW#2h6WJgyR_;>&QA`ZetkKhG9u-7Y&n$0o%pe3o{=K8Z%0a zO+dCScQT2!#$p|u7H~&jndK5k1Y3SFinn|_;AUQ{6i@XUJfcXnC#(W0{h|p8Wn_6C z5Q0fi5voc$)lS_~ITw){YAPB34dmNws$Cfwd?WsaEWTqXQtwdNA)9b7RNcGu< zKB`KkPLJ5KwtQl9{Cp_cB9ZgRw4yy8hT>9`{NXrc!RAQ7u9nMkGW01iSCq6`eVvTL zB%%E%FEeQ>o235o#G+AO12H$pR-mpM+J?yh?OIV%B!c zepip-e(|aWc7|r;1$! z4VdmEBt#-?C-t{bnG!%%Tht656Zcv4=|dN@SPHR99-(Tisj?HGAJyrX;M*%Fs<+dX z4ZjsKFT@q7fXQu|`cgZ0NMfm}AN1h*VLXgb|FC@$Exd-Vu18y0bFw2qoL2=#&G%9N zxYn0LqbIe*XlmPpOlrqd&)q-YB-@R*O1B(LYr4@eg0CM>W5YOT39K{G~b{q1x+RAn9@~%hrKx1ebqqh{i!u_uA^* zOrbu#$1&*O9`*0@d7ueYOgVqAn@KZi;I>?AJ0WDjGRqBjpECmAWZXv3Ne6SVi z=SQ21`(&rqQtr^+j5nq=b1_xN421Y{U4!$m=u;FZ(l zRL+`gXFiGx+;8g(P{)1`!i@12piUeP!7#Ge+z|^?VnPbiq*fu#lR>jD)D*I;yP0WN z?A^12@<`iOzxtR4Y3u`PUg%!mr%H*=ux(y=S$@$A2kBDU0=MWCscA9bWZ#aLtsK?F zN6oO!V4si2GN=^fiQI^0U+XCyuL0exB!+?U*-p%AU~dQNxK2}7o@mge_H`SPu^M!h z?gimP!Q?~W*Hf!QyH-4xflM-v_<6Ji3nyZRm>o8;4Femdpk*Q#lhi5L@YL^+sZ4kH z2>GS+pLsU2Vc0%kx{99CZA;iU65pWTR(meQJoHr+cP_>}DD}BXY!$|q_c-KC#8irY ziRu2Tge`9_a$q4@;A&T`PrLm}$%0{pPbMA=={t~zZ-jD4&a73?g2MI577N|VSxv8< zB#pKzx{fMl7)ts^ijng*ipy6GjB0j^1Y{i*Ywv-WU?rw6l?(*2rg`(n$COdV=V{xK z1b|yXe z8U?b7Lq|MKOWC^(o7^?yt#tin?Q&(u@&ZRFvcV?DOiyxG@3mRrR=sXGy!fgXgtywR z(Xts-eRUjA|X@gv3^-T#$#6CugU~NFw>U(meX)C+pUh4?4>x zL0bmk@*DVk)2x->Pq-&igr_R1{~o7vrVn%u@BboKX;-k}N(Py+ghm z>`sV3!J$T$+SKOUeX0z^&zybb#CJVaK#a6S>@w|$A$V*LU+x4oO2WlKbEg!VUG_2B zd%EL$^^=wnPH}c#3NLl81F@<|}09>75Ofl;a6 z{4%)*tOiTuQCM|&ho8!1OgwIzUwTDRYY8K9u=Q6e(XKA zIR231bbO#5TB%&nJ@hrUd-a&M!Zvm}BaVehAnl$7jIMAxELdOJVC3X5b&w18&Q^ZT{n)@<0+Bz4Vf!7wgg;Xm8)0cCBDm?h-xVmL#?* zVLGtxDl209GKYLNFyr%1FPTK9oyHS~l&uwL3VzVpTpqsAe!AEl%P0HdfHFFgk9r1f zza*T~sKgnVp|=eYqzkPl{tf)=5_zd1xPk_Gu-xY(KbC#0KE_TyH=$8TkhR`RcO9n* zmJl?soynZaDpOd7cX_(NwTp;H$4Rf6lZQL`GHhWntVvth`zoObsTlMjQre>7`xlhN(O zLyT<+_!1n$;wK-pm2eglD0t;<5y*CVBS|!z%{e*ymPcyngL?GC42rX~mZ<=#T z(JbNjNQ^RlJW*_-3m_Uzq?!>qYRh8RiLD&)NFh?&){sA|6rY(bVMFaRW1Dx*jJ|tt zpP@~HR4>J%?JPeeO!`6=P=elb@TPyY9CdW??vi;w8OV!1`L;g90L!2%m2R~!#mWRa zv4aDxvU%hU2{}81TgdGm-h9#q_(5ArkbK`BE!DDQm>y?$y;6!n|A>KvsNSA*#QZ#( z?ye8U_!L8lC>w={6^VDS_!9PoWdUbi$)hds@FIC|RmQoRjH=e8Frp?~fD+Y=nI~4C zd5b=<#eNIJVf#!2%VDUVm`_`tu~_ge79EWEh+ zvNR$*broFsqjsEc{;yaf(E3slncutRF9~fmMsuM;BW5`Pn|wnoohaz(c+aVEjb|FT zXWNM}0(02SI+wqXLWlPySl_=!&1_F)P}hP*Wi)QlOo%&Bre0)1bI-t?G%4wVvfV5x zatNw>-mrElI9pYzY2kr#%;MXJNM*hw+=hvq9VIf4v0^eI;P#5ZCCq$JwQZ}_0>R*m z`BBMkC~TSH^+HL?Dpv=!4!$I7ws02+1$_jGS;J6a)w~BaJ(p_HQ-f4Yqpt4}2UikB zL+O&)E=^xwP45tR$~byv$J}NhuDh|p&_KUd5o+1+C5>KO;e<{_DQ^yB@;KDNGRNmXy!Q+Z-qUc{_q*{I$9X`%sl zPi$hZ_^Zw!l*hHhy>e%-y7(Ot)dbm|6TTzp{?et5tz*uU3h=_Ktc~}U@3`{Ixz!gm zogC|n$27Jx9Z(<2!rCMby_jq6c|9qc#h&ZNb!!*vSrO=#Qb;?%9dgCbK_uRJm{pa=k#^ElqFaR+X6R z_H4ZaVNS5`@8mHS+qX0I_v({Jt;Nt6qlSWtv ztoL)@2$2zkqIK8etFRlF-cO!A$``p|nfx%wzWlUbuV+o3YZ+ak`ldhJ4KB zuCqFNizuNwd+U|`wL{yNvMu_kWCt(gehOCau&u=9@jX|h{xUZ0tcO!s^My#k^u0F_5(aTzwqw-%fW8=ry%El?~$r3_+S81z6vi5ObJ#i z^+&A`D^0T|8LdD9Nmd@#2DIu;77#7p)ta0Te*iu8wmdHU8e!X;|37-v+n;R#& zc-;ZpA5PzqvR+L?G!d0-=*i}5jcVs9)TR@)g>>PqWZFh7?adTgxlyC)tp(&M(063l z7R&ptBef^pRbt;$g0q7P+h*`KD&WL;0g$8H-q3Bf!7+azvn2d5j$O6>YHGbs9Xob{ zz6=Fs=A(LAKzyW*$cm8|QB(U%#by73`Z$w__b~B}>fe;RMa!im4ExDQY zlu;3IY)TDvVaD^P%7v4+<;Ds-oqd@={%>OnsnR6WJHf=wR4gU18pCFUHXZWo-vMT}8d?_tY-Au|BGk9pphj_fZK)#*pCF+G z(9VhMDky=<^N+`Iq*uO(F;e*eep=?-Y%Z~H&Td;!nhcpHT2ZbNb)X!mKE)QhkaPZ; z!qIWK#rLU!@^xgobLSa2`Fn4s5h=GHk$>`nV#z@SF7KxH)t_E zk0QSP-em?7e8CK%MRL%juC^YSrwjCu&TV^6(Ps0Glr`WD{HfXxc5Ai68eG**k#jjT z6{I$Q7b8!V&YN>D5T4KPhzw76Sr{6alo21nd6F&=n0tgzjUE*{$Il%gz}oFtGY(3& z86r_)TjyLgLfb(cO zdKB&?p(|c*yu}i6TZzyuMx2o!Ez4KgWr_~Y{3w&Unk8=2M|&d4*ZO%M>OrWFdZ4Lj zon0BJEw~u*5xZ=3o0*OTF9XRb);dcrqr1hWzFHAIt>|<}g5}I!)&71YMguIf0*fv~ zXp7b*lu*zw^JqM)0aW00Ji-bF1I9v`D3W#h!L|Xd&5dNje;#C7T``mnaiT%Sn|9!S zG%sm5O->cZGt%GkTNx3z4SGXq_`VBp4=%XnyR-u6Hq!lh6h~6h5yh?fEjMY(4cA;+ zZE`tV37mK5D&{0Uf+8`7*7!=|c}896w>{`WA85n1s;V()Hoe;dptXs`@;U7?UM+}j=tbZK6;FnXoYOt^ zrx0zjM#0*|-6FUqIAeG9XIA3zy^7jIT^Egp6Y7E(f?PWtE0Ea~6VJf(jN|w8Qx1^! zX(6~KaU2VDh>++A%&c{Q!z0F`BkyT~{qg>z#oGw*DXzsW*3-1Zn`Q7&yIo_59~&Hi zJU2`G#Em!7B7K@q!32I>!3zTXUsEDa-N8aV?>o}xotU#%Pug1YoXXDUhcZ9y*=#;p zaIZXM4($tIvJvhJB_So7RA3oSbQ5}II5}q^O52;HF%fej1DjNXMJt5WObKJs6LcwL zk4zV+#-QyDPD}EK?Dt;)n?cRNQPz#!0%sTY@EyZ>`f=d%Sv5bU4`d)6)8B*ft6rH& zvO;!cieUD$FTd$Puo}5R-5|_(0GfBDJtowXSp~Tkc{|8WlLkI_9+LE~RXLK+&WPVfsg5&1|_ za;b*GP}*e6fa&nedI~`OZ3H;ff-GIqSE%58AjgS2ZgWD#V+6gf0UPPZ)P;y*o~fB^ z51D74Yitaket7hbD?o zH`_G@n;l_bknkQOmUb$9MK#0MDXU)tN>l=ls3`VJAiMRohc_UNTfCF~Y6mF=D&3>1 zB6jEt3B|kMwbl3-b>x(|uxEQ%&{==*oBlv*csm9^xp7`gN`6sgT@Z4}UDX;Wx2k_EA)VFfd|d>zv= zxKP?YtEbHzQAACe+YT$xCh$bZMa7rH3_eN7*atV~>YGnufRvQ3*qc8#$6%qhem?Xw zoT3fT19?+yu7VkSA~A@5A3I}CkCXIVlZq?r;f1iKZ;Os{|R zxdj;+cqGq#2u>c03OWs;SOsapkZkP3O~F0-U6*Lt zr7-%Lmni0E-}aaAV?Ni{Qg;=G zGgFBt{3fy=x$fjbu^U6oM$jRPgYk86h0)j(&Cx`lPo9(l<8nRD@6CtmcZQD!$$fWk zBNrMv*>DnH?)-=IF~-$1Mt{6PVc<`q|;g-5Q{_7|`!1ou<-$D;R%<|J>Ii4qWIL8IU=q5`8Z$%A!5 zKkT&gT+N2Cli~++`Ys0O`-sm(UPGW@eXN)dbNp(2q)jey(=>wxxmI5UqpGxej;`E} z6_LMeMvG17GhhMJ)#>v#(w5af(*;budW}_)*5s529ZmL9uV^ei)hZ!k?1aldYeWDN zM4=YJ0Sl@Kx%gFnID#j{Fr8-f#-;k99VnHTz_iZ3`0KPRq2bVd^VeyqLKF}m?p#Pp zu3p4B#RGAq{(Pp7fUg_d-=FEr?TUX@&d3-e&NPmn)z2xk`{ zS7ns$DbJ{S|5+{@YN-wci^Ej?Ed!Vy?qoZ{vIrg;sMcxA7Yvbb=VlfK{4j*qOc+M` zkTza}O(Hpyvk%dZ!cxKR4Qw%fZVfdJ-l`s?WDd5Hx-3T2RlpL;lrXo7s;+~1VOO6L zj0HgybAW_i7l`Cw_Q>|DAo^~-61Vzj>RnUOhr`ImcVg~ZQ9oG)Q!(w(ZF)TdWAY_6 z&l;BXv7f1ANh^n1*cb6j+$V=BFt)38x#8ELV|kl3=&9rgi4G4myje;n5aQ&!2Gwtk zkSHAdhbZVeAZLJ232loyF6-Vif67gzaijtnrOe|fF$Mffou>|2%58D1{sZ{0i_mvJ zx>XPXj}jhm{Y=jMZz*)ZaqWMWLEm{Pehv-}4yeutxSk6t;8x$s%+ip`-pIhn%+~SG zg6a}f;O|$j5rF{h`x7|8_Wo4> zqF^tIl#n7Hm6)_J&C6<^EDVKzwoDmt{rs`d<)>2V|5cOXlNJ*eQc$Fp5`KyBv&Mgj z0Vm}CR5AefHuffe8uO>}8F2rz#=j-u|B32nA3T>M!0n$Z{#&m8Z_H=z z>d9w-M$Q0w=w}+M=YkD*cYguEZ)4;5Q)Av%O3%z15Q_M$EdR1?rhbOT`2f5bz(w$k z3%FAS1j76RS`eTRU}>Xg_#YX%mw-by><;e$-NXxMFXLYTIRT!Le*y%I9IkGBPL8Gk zeP1(!XF-gY3^5mQWAA=yrUJzN@&3Y)3Fx1HVEAJ~_7d)kG|fsb0A>hq(ftMP2<0E) z0PQugH*#>01SF9*vi^^B|4Vr95L!5GKv(VnOy=hy`scC)c$t3DT7a~%rIQ0d9z@v8 z(umK%0Kg!nXRY^t+0;DS^5qmvA21g};l%S}Mm64>4 zjfIo#ue;``+&sPrARNyKXes$~!vS}6`2PU?@3d1tZSU8(d&jB{r2v#Azy$#MQ^5iJ zf?qUQ>_1lbYdq~xe}J|J5D-8|{skTc^{?@)9US#6E&rPhrz9b%K>*&=a=^y~_fM?@ z0*YYzC%j*`uF#FPMH%pbfB>t9pC9DsGA;T`G)Wti|N69F<~e@`GnV)z*l%S$e`!-M zb7()a*h>9xmS1G({#C$pV_)F%|mo0vo>F*icQ|*`N|2EQJt*Ga z8B3lkfBSpo|0Iq0@3X;|@GrAaJi~jN{;h5Qf&ZPA#7m-=O7hP{1Xh0|`cwP=i>~}j z_?MFC&+yIG{{;VHviuVEr4slvESl{b3>9<+_ z9Mk!d;AI5eGeLIh|0lu!>amwGP0v)WfK}UzG44;F_kVxX{%2pk3~qVGAJ6&?{C^I0 zdD(9-V*#GYVDkPq*{>&AFL$7yF^_8hhWW4V`1^kJ%XYr>em`S&xBhR;e;T7+dK90L z2Rr_b{QLgJzx{$2Uan`J%+G)0c{%O;lNtSwVf>}%<(bB|>;I;7|IH8cpEm!;>+)x( k$xpA#bLj+t{Wl+stON*Pt@$(Hj~++|a0&sl`{!T(4=x}9z5oCK literal 0 HcmV?d00001 diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2d80b69 --- /dev/null +++ b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/java/gradlew b/examples/annotation-processor/java/gradlew new file mode 100644 index 0000000..cccdd3d --- /dev/null +++ b/examples/annotation-processor/java/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/examples/annotation-processor/java/gradlew.bat b/examples/annotation-processor/java/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/examples/annotation-processor/java/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/examples/annotation-processor/java/settings.gradle b/examples/annotation-processor/java/settings.gradle new file mode 100644 index 0000000..73dfdee --- /dev/null +++ b/examples/annotation-processor/java/settings.gradle @@ -0,0 +1,10 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user guide at https://docs.gradle.org/4.8.1/userguide/multi_project_builds.html + */ + +rootProject.name = 'ap-examples-java' diff --git a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java new file mode 100644 index 0000000..5667af7 --- /dev/null +++ b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java @@ -0,0 +1,102 @@ +/* + * This file is automatically generated. + * Do not modify! -- ALL CHANGES WILL BE ERASED! + */ +package com.example; + +import java.util.Date; + +/** + * Provides semantic version information. + * + * @author Semantic Version Annotation Processor + */ +public final class GeneratedVersion { + public final static String PRERELEASE_PREFIX = "-"; + public final static String BUILDMETA_PREFIX = "+"; + + public final static String PROJECT = ""; + public final static Date BUILDDATE = new Date(1530506497996L); + public final static int MAJOR = 6; + public final static int MINOR = 1; + public final static int PATCH = 0; + public final static String PRERELEASE = ""; + public final static String BUILDMETA = ""; + + /** + * The full version string. + *

+ * Formatted as: + *

+ * MAJOR.MINOR.PATCH[-PRERELEASE][+BUILDMETADATA] + *
+ *

+ * For example: + *

    + *
  • 1.0.0
  • + *
  • 1.0.0-beta
  • + *
  • 1.0.0+20160124144700
  • + *
  • 1.0.0-alpha+001
  • + *
+ */ + public final static String VERSION = Integer.toString(MAJOR) + '.' + + Integer.toString(MINOR) + '.' + + Integer.toString(PATCH) + + preReleaseWithPrefix() + buildMetaWithPrefix(); + + /** + * Disables the default constructor. + * + * @throws UnsupportedOperationException If the constructor is called. + */ + private GeneratedVersion() + throws UnsupportedOperationException { + throw new UnsupportedOperationException("Illegal constructor call."); + } + + /** + * Returns the build metadata with {@value #BUILDMETA_PREFIX} prefix. + * + * @return The build metadata, if any. + */ + public static String buildMetaWithPrefix() { + return buildMetaWithPrefix(BUILDMETA_PREFIX); + } + + /** + * Returns the build metadata. + * + * @param prefix Prefix to prepend. + * @return The build metadata, if any. + */ + public static String buildMetaWithPrefix(final String prefix) { + if (BUILDMETA.length() > 0 && prefix.length() > 0) { + return prefix + BUILDMETA; + } else { + return BUILDMETA; + } + } + + /** + * Returns the pre-release version with {@value #PRERELEASE_PREFIX} prefix. + * + * @return The pre-release version, if any. + */ + public static String preReleaseWithPrefix() { + return preReleaseWithPrefix(PRERELEASE_PREFIX); + } + + /** + * Returns the pre-release version. + * + * @param prefix The prefix to prepend. + * @return The pre-release version, if any. + */ + public static String preReleaseWithPrefix(final String prefix) { + if (PRERELEASE.length() > 0 && prefix.length() > 0) { + return prefix + PRERELEASE; + } else { + return PRERELEASE; + } + } +} \ No newline at end of file diff --git a/examples/annotation-processor/java/src/main/java/com/example/Example.java b/examples/annotation-processor/java/src/main/java/com/example/Example.java new file mode 100644 index 0000000..6992ac9 --- /dev/null +++ b/examples/annotation-processor/java/src/main/java/com/example/Example.java @@ -0,0 +1,30 @@ +package com.example; + +import net.thauvin.erik.semver.Version; + +import java.text.SimpleDateFormat; + +@Version(properties = "version.properties") +//@Version( +// properties = "example.properties", +// keysPrefix = "example.", +// preReleaseKey = "release", +// buildMetaKey = "meta") +public class Example { + public static void main(final String... args) { + final SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy 'at' HH:mm:ss z"); + + System.out.println("-----------------------------------------------------"); + + System.out.println(" Version:" + GeneratedVersion.PROJECT + ' ' + GeneratedVersion.VERSION); + + System.out.println(" Built on: " + sdf.format(GeneratedVersion.BUILDDATE)); + System.out.println(" Major: " + GeneratedVersion.MAJOR); + System.out.println(" Minor: " + GeneratedVersion.MINOR); + System.out.println(" Patch: " + GeneratedVersion.PATCH); + System.out.println(" PreRelease: " + GeneratedVersion.PRERELEASE); + System.out.println(" BuildMetaData: " + GeneratedVersion.BUILDMETA); + + System.out.println("-----------------------------------------------------"); + } +} diff --git a/examples/annotation-processor/java/src/test/java/AppTest.java b/examples/annotation-processor/java/src/test/java/AppTest.java new file mode 100644 index 0000000..6cf97a2 --- /dev/null +++ b/examples/annotation-processor/java/src/test/java/AppTest.java @@ -0,0 +1,11 @@ +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +class AppTest { + @Test + void testAppHasAGreeting() { + App classUnderTest = new App(); + assertNotNull("app should have a greeting", classUnderTest.getGreeting()); + } +} diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties new file mode 100644 index 0000000..267bb90 --- /dev/null +++ b/examples/annotation-processor/java/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 21:42:25 PDT 2018 +version.prerelease= +version.buildmeta= +version.patch=0 +version.major=6 +version.minor=1 diff --git a/examples/annotation-processor/kotlin/.gitattributes b/examples/annotation-processor/kotlin/.gitattributes new file mode 100644 index 0000000..6ec2ae2 --- /dev/null +++ b/examples/annotation-processor/kotlin/.gitattributes @@ -0,0 +1,5 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# batch files are specific to windows and always crlf +*.bat eol=crlf diff --git a/examples/annotation-processor/kotlin/.gitignore b/examples/annotation-processor/kotlin/.gitignore new file mode 100644 index 0000000..32fe2fe --- /dev/null +++ b/examples/annotation-processor/kotlin/.gitignore @@ -0,0 +1,32 @@ +**/.idea/dictionaries +**/.idea/gradle.xml +**/.idea/libraries +**/.idea/tasks.xml +**/.idea/workspace.xml +*.iws +*.sublime-* +.classpath +.DS_Store +.gradle +.kobalt +.nb-gradle +.project +.settings +/bin +/build +/deploy +/dist +/gen +/gradle.properties +/lib/kotlin* +/libs +/local.properties +/out +/proguard-project.txt +/project.properties +/target +/test-output +ehthumbs.db +kobaltBuild +kobaltw*-test +Thumbs.db \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts new file mode 100644 index 0000000..288c255 --- /dev/null +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -0,0 +1,52 @@ +import net.thauvin.erik.gradle.semver.SemverConfig + +buildscript { + repositories { + mavenLocal() + } + dependencies { + classpath("net.thauvin.erik.gradle:semver:0.9.2-beta") + } +} + +plugins { + kotlin("jvm") version "1.2.50" + application + id("org.jetbrains.kotlin.kapt") version "1.2.50" +} + +apply { + plugin("net.thauvin.erik.gradle.semver") +} + + +// ./gradlew +// ./gradlew runJava +// ./gradlew run runJava + +defaultTasks(ApplicationPlugin.TASK_RUN_NAME) + +var semverProcessor = "net.thauvin.erik:semver:1.1.0-beta+2" + +dependencies { + kapt(semverProcessor) + compileOnly(semverProcessor) + + compile(kotlin("stdlib")) +} + +repositories { + mavenLocal() + jcenter() +} + +application { + mainClassName = "com.example.Main" +} + +configure { + properties = "example.properties" + keysPrefix = "example." + preReleaseKey = "release" + buildMetaKey = "meta" +} \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/example.properties b/examples/annotation-processor/kotlin/example.properties new file mode 100644 index 0000000..7c54620 --- /dev/null +++ b/examples/annotation-processor/kotlin/example.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 21:42:39 PDT 2018 +example.major=1 +example.release= +example.meta= +example.minor=0 +example.patch=0 diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.jar b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..758de960ec7947253b058ff79c88ce51f3abe08a GIT binary patch literal 54417 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 literal 0 HcmV?d00001 diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2d80b69 --- /dev/null +++ b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/kotlin/gradlew b/examples/annotation-processor/kotlin/gradlew new file mode 100644 index 0000000..cccdd3d --- /dev/null +++ b/examples/annotation-processor/kotlin/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/examples/annotation-processor/kotlin/gradlew.bat b/examples/annotation-processor/kotlin/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/examples/annotation-processor/kotlin/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/examples/annotation-processor/kotlin/settings.gradle.kts b/examples/annotation-processor/kotlin/settings.gradle.kts new file mode 100644 index 0000000..ff704be --- /dev/null +++ b/examples/annotation-processor/kotlin/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "ap-examples-kotlin" diff --git a/examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt b/examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt new file mode 100644 index 0000000..7ccd226 --- /dev/null +++ b/examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt @@ -0,0 +1,33 @@ +package com.example + +import net.thauvin.erik.semver.Version +import java.text.SimpleDateFormat + +@Version(properties = "version.properties", type = "kt") +//@Version( +// properties = "example.properties", +// type = "kt", +// keysPrefix = "example.", +// preReleaseKey = "release", +// buildMetaKey = "meta") +class Main { + companion object { + @JvmStatic + fun main(args: Array) { + val sdf = SimpleDateFormat("EEE, d MMM yyyy 'at' HH:mm:ss z") + + println("-----------------------------------------------------") + + println(" Version: ${GeneratedVersion.PROJECT} ${GeneratedVersion.VERSION}") + + println(" Built on: " + sdf.format(GeneratedVersion.BUILDDATE)) + println(" Major: ${GeneratedVersion.MAJOR}") + println(" Minor: ${GeneratedVersion.MINOR}") + println(" Patch: ${GeneratedVersion.PATCH}") + println(" PreRelease: ${GeneratedVersion.PRERELEASE}") + println(" BuildMetaData: ${GeneratedVersion.BUILDMETA}") + + println("-----------------------------------------------------") + } + } +} \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties new file mode 100644 index 0000000..a8a1d66 --- /dev/null +++ b/examples/annotation-processor/kotlin/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 19:30:36 PDT 2018 +version.prerelease= +version.buildmeta= +version.patch=0 +version.major=1 +version.minor=0 diff --git a/examples/build.gradle b/examples/build.gradle new file mode 100644 index 0000000..c859a6c --- /dev/null +++ b/examples/build.gradle @@ -0,0 +1,7 @@ +task clean(type: Delete) { + doFirst { + delete fileTree(".") { + include "*.properties" + } + } +} \ No newline at end of file diff --git a/examples/gradle/wrapper/gradle-wrapper.jar b/examples/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..758de960ec7947253b058ff79c88ce51f3abe08a GIT binary patch literal 54417 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 literal 0 HcmV?d00001 diff --git a/examples/gradle/wrapper/gradle-wrapper.properties b/examples/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2d80b69 --- /dev/null +++ b/examples/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/java/.gitattributes b/examples/java/.gitattributes new file mode 100644 index 0000000..6ec2ae2 --- /dev/null +++ b/examples/java/.gitattributes @@ -0,0 +1,5 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# batch files are specific to windows and always crlf +*.bat eol=crlf diff --git a/examples/java/.gitignore b/examples/java/.gitignore new file mode 100644 index 0000000..6322c7f --- /dev/null +++ b/examples/java/.gitignore @@ -0,0 +1,29 @@ +**/.idea/dictionaries +**/.idea/gradle.xml +**/.idea/libraries +**/.idea/tasks.xml +**/.idea/workspace.xml +*.sublime-* +*.iws +.classpath +.DS_Store +.gradle +.kobalt +.nb-gradle +.project +.settings +/bin +/build +/deploy +/dist +/gen +/gradle.properties +/local.properties +/out +/proguard-project.txt +/project.properties +/target +/test-output +ehthumbs.db +kobaltBuild +Thumbs.db \ No newline at end of file diff --git a/examples/java/build.gradle b/examples/java/build.gradle new file mode 100644 index 0000000..989cdcf --- /dev/null +++ b/examples/java/build.gradle @@ -0,0 +1,56 @@ +buildscript { + repositories { + mavenLocal() + } + dependencies { + classpath "net.thauvin.erik.gradle:semver:0.9.2-beta" + } +} + +// ./gradlew +// ./gradlew incrementPatch run +// ./gradlew incrementMinor run +// ./gradlew incrementMajor run + +plugins { + id 'java' + id 'application' +} + +apply plugin: 'net.thauvin.erik.gradle.semver' + +mainClassName = 'App' + +compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated") + +defaultTasks 'run' + +dependencies { + testImplementation( + 'org.junit.jupiter:junit-jupiter-api:5.2.0' + ) + testRuntimeOnly( + 'org.junit.jupiter:junit-jupiter-engine:5.2.0' + ) +} + +repositories { + jcenter() +} + +test { + useJUnitPlatform() +} + +semver { + // properties = "example.properties" + // keysPrefix = "example." + // preReleaseKey = "release" + // buildMetaKey = "meta" +} + +run { + doFirst { + println "Version: $version" + } +} diff --git a/examples/java/example.properties b/examples/java/example.properties new file mode 100644 index 0000000..d946882 --- /dev/null +++ b/examples/java/example.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 12:21:40 PDT 2018 +example.major=1 +example.release=beta +example.meta= +example.minor=1 +example.patch=1 diff --git a/examples/java/gradle/wrapper/gradle-wrapper.jar b/examples/java/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..758de960ec7947253b058ff79c88ce51f3abe08a GIT binary patch literal 54417 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 literal 0 HcmV?d00001 diff --git a/examples/java/gradle/wrapper/gradle-wrapper.properties b/examples/java/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2d80b69 --- /dev/null +++ b/examples/java/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/java/gradlew b/examples/java/gradlew new file mode 100644 index 0000000..cccdd3d --- /dev/null +++ b/examples/java/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/examples/java/gradlew.bat b/examples/java/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/examples/java/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/examples/java/settings.gradle b/examples/java/settings.gradle new file mode 100644 index 0000000..99bca64 --- /dev/null +++ b/examples/java/settings.gradle @@ -0,0 +1,10 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user guide at https://docs.gradle.org/4.8.1/userguide/multi_project_builds.html + */ + +rootProject.name = 'examples-java' diff --git a/examples/java/src/main/java/App.java b/examples/java/src/main/java/App.java new file mode 100644 index 0000000..c2347df --- /dev/null +++ b/examples/java/src/main/java/App.java @@ -0,0 +1,12 @@ +/* + * This Java source file was generated by the Gradle 'init' task. + */ +public class App { + public static void main(String[] args) { + System.out.println(new App().getGreeting()); + } + + public String getGreeting() { + return "Hello world."; + } +} diff --git a/examples/java/src/test/java/AppTest.java b/examples/java/src/test/java/AppTest.java new file mode 100644 index 0000000..6cf97a2 --- /dev/null +++ b/examples/java/src/test/java/AppTest.java @@ -0,0 +1,11 @@ +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +class AppTest { + @Test + void testAppHasAGreeting() { + App classUnderTest = new App(); + assertNotNull("app should have a greeting", classUnderTest.getGreeting()); + } +} diff --git a/examples/java/version.properties b/examples/java/version.properties new file mode 100644 index 0000000..f2b2f94 --- /dev/null +++ b/examples/java/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 21:42:08 PDT 2018 +version.prerelease= +version.buildmeta= +version.patch=0 +version.major=1 +version.minor=0 diff --git a/examples/kotlin/.gitattributes b/examples/kotlin/.gitattributes new file mode 100644 index 0000000..6ec2ae2 --- /dev/null +++ b/examples/kotlin/.gitattributes @@ -0,0 +1,5 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# batch files are specific to windows and always crlf +*.bat eol=crlf diff --git a/examples/kotlin/.gitignore b/examples/kotlin/.gitignore new file mode 100644 index 0000000..6322c7f --- /dev/null +++ b/examples/kotlin/.gitignore @@ -0,0 +1,29 @@ +**/.idea/dictionaries +**/.idea/gradle.xml +**/.idea/libraries +**/.idea/tasks.xml +**/.idea/workspace.xml +*.sublime-* +*.iws +.classpath +.DS_Store +.gradle +.kobalt +.nb-gradle +.project +.settings +/bin +/build +/deploy +/dist +/gen +/gradle.properties +/local.properties +/out +/proguard-project.txt +/project.properties +/target +/test-output +ehthumbs.db +kobaltBuild +Thumbs.db \ No newline at end of file diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts new file mode 100644 index 0000000..54c165b --- /dev/null +++ b/examples/kotlin/build.gradle.kts @@ -0,0 +1,58 @@ +import net.thauvin.erik.gradle.semver.SemverConfig + +buildscript { + repositories { + mavenLocal() + } + dependencies { + classpath("net.thauvin.erik.gradle:semver:0.9.2-beta") + } +} + +plugins { + kotlin("jvm") version "1.2.50" + application +} + +apply { + plugin("net.thauvin.erik.gradle.semver") +} + +// ./gradlew +// ./gradlew incrementPatch run +// ./gradlew incrementMinor run +// ./gradlew incrementMajor run + +defaultTasks(ApplicationPlugin.TASK_RUN_NAME) + +dependencies { + compile(kotlin("stdlib")) + testCompile("org.testng:testng:6.14.3") +} + +repositories { + jcenter() +} + +application { + mainClassName = "com.example.MainKt" +} + +configure { + //properties = "example.properties" + //keysPrefix = "example." + //preReleaseKey = "release" + //buildMetaKey = "meta" +} + +tasks { + withType(Test::class.java).all { + useTestNG() + } + + val run by getting { + doFirst { + println("Version: $version") + } + } +} \ No newline at end of file diff --git a/examples/kotlin/example.properties b/examples/kotlin/example.properties new file mode 100644 index 0000000..4832c99 --- /dev/null +++ b/examples/kotlin/example.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 20:17:52 PDT 2018 +example.major=1 +example.release= +example.meta= +example.minor=0 +example.patch=0 diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.jar b/examples/kotlin/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..758de960ec7947253b058ff79c88ce51f3abe08a GIT binary patch literal 54417 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 literal 0 HcmV?d00001 diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2d80b69 --- /dev/null +++ b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/kotlin/gradlew b/examples/kotlin/gradlew new file mode 100644 index 0000000..cccdd3d --- /dev/null +++ b/examples/kotlin/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/examples/kotlin/gradlew.bat b/examples/kotlin/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/examples/kotlin/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/examples/kotlin/settings.gradle.kts b/examples/kotlin/settings.gradle.kts new file mode 100644 index 0000000..65d0bd6 --- /dev/null +++ b/examples/kotlin/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "examples-kotlin" diff --git a/examples/kotlin/src/main/kotlin/com/example/Main.kt b/examples/kotlin/src/main/kotlin/com/example/Main.kt new file mode 100644 index 0000000..f6cdb3c --- /dev/null +++ b/examples/kotlin/src/main/kotlin/com/example/Main.kt @@ -0,0 +1,3 @@ +package com.example + +fun main(args: Array) = println("Hello world.") \ No newline at end of file diff --git a/examples/kotlin/src/test/kotlin/com/example/MainTest.kt b/examples/kotlin/src/test/kotlin/com/example/MainTest.kt new file mode 100644 index 0000000..96458e9 --- /dev/null +++ b/examples/kotlin/src/test/kotlin/com/example/MainTest.kt @@ -0,0 +1,8 @@ +package com.example + +import org.testng.annotations.Test + +class ExampleTest { + @Test + fun f() = println("Running test") +} \ No newline at end of file diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties new file mode 100644 index 0000000..287404e --- /dev/null +++ b/examples/kotlin/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 21:44:37 PDT 2018 +version.prerelease= +version.buildmeta= +version.patch=0 +version.major=1 +version.minor=0 diff --git a/examples/settings.gradle b/examples/settings.gradle new file mode 100644 index 0000000..306a83f --- /dev/null +++ b/examples/settings.gradle @@ -0,0 +1,2 @@ +include 'java', 'kotlin', 'annotation-processor:java', 'annotation-processor:kotlin' +rootProject.name = 'examples' \ No newline at end of file diff --git a/examples/test/build.gradle b/examples/test/build.gradle index a0d7017..81eac11 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -23,6 +23,12 @@ repositories { jcenter() } +task cleanVersion { + delete "test.properties" +} + +clean.dependsOn("cleanVersion") + run { //dependsOn("incrementPatch") doFirst { diff --git a/examples/test/test.properties b/examples/test/test.properties index 6bcc88e..ea8ca13 100644 --- a/examples/test/test.properties +++ b/examples/test/test.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sun Jul 01 11:09:26 PDT 2018 +#Sun Jul 01 13:20:13 PDT 2018 test.major=1 -test.prerelease=beta -test.meta=007 -test.patch=3 +test.prerelease= +test.meta= +test.patch=0 test.minor=0 diff --git a/examples/test/version.properties b/examples/test/version.properties new file mode 100644 index 0000000..d7c2a53 --- /dev/null +++ b/examples/test/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 13:11:20 PDT 2018 +version.prerelease= +version.buildmeta= +version.patch=0 +version.major=1 +version.minor=0 From 89de884e34479f79a6a71808a539c59b97858891 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 00:00:06 -0700 Subject: [PATCH 006/155] Cleanup. --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 33b6930..20a5069 100644 --- a/README.md +++ b/README.md @@ -4,11 +4,11 @@ A [Semantic Version](https://semver.org) Plugin for [Gradle](https://gradle.org) that manages a project version via a properties file, and provide tasks to __automatically increment__ major, minor and patch build numbers. -The plugin can be used in conjunction with the [Semantic Version Annotation Processor](https://github.com/ethauvin/semver). +The plugin can be used in conjunction with the [__Semantic Version Annotation Processor__](https://github.com/ethauvin/semver). ## Using the plugin -The plugin is published to the Plugin Portal; see instructions there: [net.thauvin.erik.gradle.semver](https://plugins.gradle.org/plugin/net.thauvin.erik.gradle.semver) +The plugin is published to the Plugin Portal; see instructions there: [__net.thauvin.erik.gradle.semver__](https://plugins.gradle.org/plugin/net.thauvin.erik.gradle.semver) ## Version Properties File @@ -25,6 +25,8 @@ version.buildmeta= To change the version of your project, remove the version from your `build.gradle` and simply edit your the version properties file to match your version number. +- __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) + If you need to change the properties file or name of the properties keys to match your own build environment. Please see the [Configuration](#configuration) section. ## Increment Version Tasks @@ -49,6 +51,8 @@ someTask { } ``` +- __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) + ## Configuration ### Version File Properties @@ -85,6 +89,8 @@ version.buildmeta=exp.sha.5114f85 `projet.version` will be `1.0.0-beta+exp.sha.5114f85` in Gradle. +- __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) + ### Semver In a Gradle build file, the `semver` block is used to configure how the plugin will read/write the version properties file. In most cases it is not needed. @@ -153,6 +159,10 @@ test.prerelease= test.buildmeta= ``` +- __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) + ## Source Code Generation -If you'd like to incorporate the version number data into your source code, please have a look at the [Semantic Version Annotation Processor](https://github.com/ethauvin/semver). \ No newline at end of file +If you'd like to incorporate the version number data into your source code, please have a look at the [__Semantic Version Annotation Processor__](https://github.com/ethauvin/semver). + +There are also full [examples](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor) in both [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor/java) and [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor) showing how to use both the plugin and annotation processor concurrently. \ No newline at end of file From 6edee47f229cc086f51df9df113e3b2a21f0f014 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 00:01:13 -0700 Subject: [PATCH 007/155] Simplified useTestNG declaration. --- examples/gradle/wrapper/gradle-wrapper.jar | Bin 54417 -> 0 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 ----- examples/kotlin/build.gradle.kts | 4 ++-- 3 files changed, 2 insertions(+), 7 deletions(-) delete mode 100644 examples/gradle/wrapper/gradle-wrapper.jar delete mode 100644 examples/gradle/wrapper/gradle-wrapper.properties diff --git a/examples/gradle/wrapper/gradle-wrapper.jar b/examples/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 758de960ec7947253b058ff79c88ce51f3abe08a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54417 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 diff --git a/examples/gradle/wrapper/gradle-wrapper.properties b/examples/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 2d80b69..0000000 --- a/examples/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 54c165b..e25978e 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -46,7 +46,7 @@ configure { } tasks { - withType(Test::class.java).all { + withType { useTestNG() } @@ -55,4 +55,4 @@ tasks { println("Version: $version") } } -} \ No newline at end of file +} From 4232328cd66649374927adee23dbcfe15be1f318 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 10:57:57 -0700 Subject: [PATCH 008/155] Vesion 0.9.3-beta --- build.gradle.kts | 2 +- examples/annotation-processor/java/build.gradle | 2 +- .../src/generated/com/example/GeneratedVersion.java | 6 +++--- .../annotation-processor/java/version.properties | 6 +++--- .../annotation-processor/kotlin/build.gradle.kts | 12 ++++++------ .../annotation-processor/kotlin/version.properties | 6 +++--- examples/kotlin/version.properties | 2 +- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 1d3913b..0b05543 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { id("org.jlleitschuh.gradle.ktlint") version "4.1.0" } -version = "0.9.2-beta" +version = "0.9.3-beta" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 5edede5..b9a588e 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -25,7 +25,7 @@ defaultTasks 'run' compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated") -def semverProcessor = "net.thauvin.erik:semver:1.1.0-beta+2" +def semverProcessor = "net.thauvin.erik:semver:1.1.0-beta" dependencies { annotationProcessor semverProcessor diff --git a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java index 5667af7..e55ff84 100644 --- a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java @@ -16,9 +16,9 @@ public final class GeneratedVersion { public final static String BUILDMETA_PREFIX = "+"; public final static String PROJECT = ""; - public final static Date BUILDDATE = new Date(1530506497996L); - public final static int MAJOR = 6; - public final static int MINOR = 1; + public final static Date BUILDDATE = new Date(1530516790148L); + public final static int MAJOR = 1; + public final static int MINOR = 0; public final static int PATCH = 0; public final static String PRERELEASE = ""; public final static String BUILDMETA = ""; diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index 267bb90..4b31e45 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sun Jul 01 21:42:25 PDT 2018 +#Mon Jul 02 00:24:34 PDT 2018 version.prerelease= version.buildmeta= version.patch=0 -version.major=6 -version.minor=1 +version.major=2 +version.minor=0 diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index 288c255..aaf2387 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -26,7 +26,7 @@ apply { defaultTasks(ApplicationPlugin.TASK_RUN_NAME) -var semverProcessor = "net.thauvin.erik:semver:1.1.0-beta+2" +var semverProcessor = "net.thauvin.erik:semver:1.1.0-beta" dependencies { kapt(semverProcessor) @@ -45,8 +45,8 @@ application { } configure { - properties = "example.properties" - keysPrefix = "example." - preReleaseKey = "release" - buildMetaKey = "meta" -} \ No newline at end of file + //properties = "example.properties" + //keysPrefix = "example." + //preReleaseKey = "release" + //buildMetaKey = "meta" +} diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index a8a1d66..0de31e8 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sun Jul 01 19:30:36 PDT 2018 +#Mon Jul 02 01:47:00 PDT 2018 version.prerelease= version.buildmeta= version.patch=0 -version.major=1 -version.minor=0 +version.major=11 +version.minor=1 diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 287404e..07c320f 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Sun Jul 01 21:44:37 PDT 2018 +#Sun Jul 01 22:34:20 PDT 2018 version.prerelease= version.buildmeta= version.patch=0 From e626476fabd370e264857251e3785101a5b17b3c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 12:38:50 -0700 Subject: [PATCH 009/155] Changed examples to point to published plugin. --- .idea/compiler.xml | 28 +- .idea/misc.xml | 2 +- .../java/annotation-processor-java_main.iml | 4 +- .../java/annotation-processor-java_test.iml | 2 +- .../annotation-processor-kotlin_main.iml | 4 +- .../annotation-processor-kotlin_test.iml | 2 +- .idea/modules/ap-examples-java_main.iml | 4 +- .idea/modules/ap-examples-java_test.iml | 2 +- .idea/modules/ap-examples-kotlin_main.iml | 4 +- .idea/modules/ap-examples-kotlin_test.iml | 2 +- .idea/modules/examples-java_main.iml | 2 +- .idea/modules/examples-java_test.iml | 4 +- .idea/modules/examples-kotlin_main.iml | 2 +- .idea/modules/examples-kotlin_test.iml | 2 +- .idea/modules/semver.iml | 2 +- .idea/modules/semver_main.iml | 267 ++++++++++++------ .idea/modules/semver_test.iml | 136 ++++++--- .../annotation-processor/java/build.gradle | 18 +- .../com/example/GeneratedVersion.java | 2 +- .../java/version.properties | 4 +- .../kotlin/build.gradle.kts | 20 +- .../kotlin/version.properties | 8 +- examples/java/build.gradle | 18 +- examples/java/version.properties | 4 +- examples/kotlin/build.gradle.kts | 14 +- examples/kotlin/version.properties | 4 +- examples/test/build.gradle | 2 +- 27 files changed, 331 insertions(+), 232 deletions(-) diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 2fa4070..283fcb4 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -2,24 +2,24 @@ - - - - - - - - - + + + + + + + + + - + - - + + - - + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index e707cdd..de03161 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml b/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml index e27c1b1..63956e7 100644 --- a/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml +++ b/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml @@ -1,6 +1,6 @@ - + @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml b/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml index 56e1e5c..38c2600 100644 --- a/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml +++ b/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml @@ -1,6 +1,6 @@ - + diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml index 025644b..c9f697a 100644 --- a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml @@ -23,7 +23,7 @@ - + @@ -49,7 +49,7 @@
- +
diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml index 72008aa..4a71ebf 100644 --- a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml @@ -23,7 +23,7 @@
- + diff --git a/.idea/modules/ap-examples-java_main.iml b/.idea/modules/ap-examples-java_main.iml index c9833e4..f0872d0 100644 --- a/.idea/modules/ap-examples-java_main.iml +++ b/.idea/modules/ap-examples-java_main.iml @@ -1,6 +1,6 @@ - + @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/.idea/modules/ap-examples-java_test.iml b/.idea/modules/ap-examples-java_test.iml index 2e20acb..1168954 100644 --- a/.idea/modules/ap-examples-java_test.iml +++ b/.idea/modules/ap-examples-java_test.iml @@ -1,6 +1,6 @@ - + diff --git a/.idea/modules/ap-examples-kotlin_main.iml b/.idea/modules/ap-examples-kotlin_main.iml index ba500a4..9b5da31 100644 --- a/.idea/modules/ap-examples-kotlin_main.iml +++ b/.idea/modules/ap-examples-kotlin_main.iml @@ -23,7 +23,7 @@ - + @@ -49,8 +49,8 @@ - + \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin_test.iml b/.idea/modules/ap-examples-kotlin_test.iml index 2f272d8..93dfa26 100644 --- a/.idea/modules/ap-examples-kotlin_test.iml +++ b/.idea/modules/ap-examples-kotlin_test.iml @@ -23,7 +23,7 @@ - + diff --git a/.idea/modules/examples-java_main.iml b/.idea/modules/examples-java_main.iml index 20dbdd5..e92db06 100644 --- a/.idea/modules/examples-java_main.iml +++ b/.idea/modules/examples-java_main.iml @@ -1,6 +1,6 @@ - + diff --git a/.idea/modules/examples-java_test.iml b/.idea/modules/examples-java_test.iml index eeccd0b..ea3879f 100644 --- a/.idea/modules/examples-java_test.iml +++ b/.idea/modules/examples-java_test.iml @@ -1,6 +1,6 @@ - + @@ -11,8 +11,8 @@ - + diff --git a/.idea/modules/examples-kotlin_main.iml b/.idea/modules/examples-kotlin_main.iml index 2c50ac8..9b8f986 100644 --- a/.idea/modules/examples-kotlin_main.iml +++ b/.idea/modules/examples-kotlin_main.iml @@ -23,7 +23,7 @@ - + diff --git a/.idea/modules/examples-kotlin_test.iml b/.idea/modules/examples-kotlin_test.iml index a17c71e..775c9ac 100644 --- a/.idea/modules/examples-kotlin_test.iml +++ b/.idea/modules/examples-kotlin_test.iml @@ -23,7 +23,7 @@ - + diff --git a/.idea/modules/semver.iml b/.idea/modules/semver.iml index ff76db3..92e92ce 100644 --- a/.idea/modules/semver.iml +++ b/.idea/modules/semver.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/semver_main.iml b/.idea/modules/semver_main.iml index 4a9749c..3a0683d 100644 --- a/.idea/modules/semver_main.iml +++ b/.idea/modules/semver_main.iml @@ -1,5 +1,5 @@ - + @@ -28,7 +28,7 @@ - + @@ -39,7 +39,40 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -48,7 +81,7 @@ - + @@ -57,7 +90,18 @@ - + + + + + + + + + + + + @@ -66,25 +110,87 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + @@ -99,6 +205,15 @@ + + + + + + + + + @@ -108,66 +223,13 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -184,20 +246,10 @@ - + - - - - - - - - - - - + @@ -206,7 +258,52 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/modules/semver_test.iml b/.idea/modules/semver_test.iml index 9c0a069..4276081 100644 --- a/.idea/modules/semver_test.iml +++ b/.idea/modules/semver_test.iml @@ -1,17 +1,10 @@ - + - + - - + @@ -116,11 +109,10 @@ - - + @@ -135,15 +127,6 @@ - - - - - - - - - @@ -156,7 +139,7 @@ - + @@ -165,7 +148,51 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -174,7 +201,7 @@ - + @@ -183,40 +210,24 @@ - + + - - - - - - - - - - - - - - - - - - - + + @@ -226,7 +237,6 @@ - @@ -239,6 +249,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index b9a588e..9fedd3c 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,10 +1,7 @@ -buildscript { - repositories { - mavenLocal() - } - dependencies { - classpath "net.thauvin.erik.gradle:semver:0.9.2-beta" - } +plugins { + id 'java' + id 'application' + id "net.thauvin.erik.gradle.semver" version "0.9.3-beta" } // ./gradlew @@ -12,13 +9,6 @@ buildscript { // ./gradlew clean incrementMinor run // ./gradlew clean incrementMajor run -plugins { - id 'java' - id 'application' -} - -apply plugin: 'net.thauvin.erik.gradle.semver' - mainClassName = 'com.example.Example' defaultTasks 'run' diff --git a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java index e55ff84..164d180 100644 --- a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java @@ -16,7 +16,7 @@ public final class GeneratedVersion { public final static String BUILDMETA_PREFIX = "+"; public final static String PROJECT = ""; - public final static Date BUILDDATE = new Date(1530516790148L); + public final static Date BUILDDATE = new Date(1530560225038L); public final static int MAJOR = 1; public final static int MINOR = 0; public final static int PATCH = 0; diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index 4b31e45..e430d9a 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Mon Jul 02 00:24:34 PDT 2018 +#Mon Jul 02 12:23:13 PDT 2018 version.prerelease= +version.minor=0 version.buildmeta= version.patch=0 version.major=2 -version.minor=0 diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index aaf2387..0b36410 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -1,28 +1,16 @@ import net.thauvin.erik.gradle.semver.SemverConfig -buildscript { - repositories { - mavenLocal() - } - dependencies { - classpath("net.thauvin.erik.gradle:semver:0.9.2-beta") - } -} - plugins { kotlin("jvm") version "1.2.50" application id("org.jetbrains.kotlin.kapt") version "1.2.50" + id("net.thauvin.erik.gradle.semver") version "0.9.3-beta" } -apply { - plugin("net.thauvin.erik.gradle.semver") -} - - // ./gradlew -// ./gradlew runJava -// ./gradlew run runJava +// ./gradlew clean incrementPatch run +// ./gradlew clean incrementMinor run +// ./gradlew clean incrementMajor run defaultTasks(ApplicationPlugin.TASK_RUN_NAME) diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index 0de31e8..2ba0606 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Mon Jul 02 01:47:00 PDT 2018 +#Mon Jul 02 12:30:21 PDT 2018 version.prerelease= -version.buildmeta= -version.patch=0 -version.major=11 version.minor=1 +version.buildmeta= +version.patch=2 +version.major=11 diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 989cdcf..ccb0fbe 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,10 +1,7 @@ -buildscript { - repositories { - mavenLocal() - } - dependencies { - classpath "net.thauvin.erik.gradle:semver:0.9.2-beta" - } +plugins { + id 'java' + id 'application' + id "net.thauvin.erik.gradle.semver" version "0.9.3-beta" } // ./gradlew @@ -12,13 +9,6 @@ buildscript { // ./gradlew incrementMinor run // ./gradlew incrementMajor run -plugins { - id 'java' - id 'application' -} - -apply plugin: 'net.thauvin.erik.gradle.semver' - mainClassName = 'App' compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated") diff --git a/examples/java/version.properties b/examples/java/version.properties index f2b2f94..730b32d 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sun Jul 01 21:42:08 PDT 2018 +#Mon Jul 02 12:31:48 PDT 2018 version.prerelease= +version.minor=0 version.buildmeta= version.patch=0 version.major=1 -version.minor=0 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index e25978e..b8f8b13 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -1,21 +1,9 @@ import net.thauvin.erik.gradle.semver.SemverConfig -buildscript { - repositories { - mavenLocal() - } - dependencies { - classpath("net.thauvin.erik.gradle:semver:0.9.2-beta") - } -} - plugins { kotlin("jvm") version "1.2.50" application -} - -apply { - plugin("net.thauvin.erik.gradle.semver") + id("net.thauvin.erik.gradle.semver") version "0.9.3-beta" } // ./gradlew diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 07c320f..c2bc416 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sun Jul 01 22:34:20 PDT 2018 +#Mon Jul 02 12:34:38 PDT 2018 version.prerelease= +version.minor=0 version.buildmeta= version.patch=0 version.major=1 -version.minor=0 diff --git a/examples/test/build.gradle b/examples/test/build.gradle index 81eac11..1cb336e 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -3,7 +3,7 @@ buildscript { mavenLocal() } dependencies { - classpath "net.thauvin.erik.gradle:semver:0.9.2-beta" + classpath "net.thauvin.erik.gradle:semver:0.9.3-beta" } } From d1bdd823531c1398e2c8daf306fa191daed42cdb Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 16:23:50 -0700 Subject: [PATCH 010/155] Added more tasks for all examples. --- examples/build.gradle | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/examples/build.gradle b/examples/build.gradle index c859a6c..1e3ca7e 100644 --- a/examples/build.gradle +++ b/examples/build.gradle @@ -1,7 +1,36 @@ task clean(type: Delete) { - doFirst { - delete fileTree(".") { - include "*.properties" - } - } + doFirst { + delete fileTree(".") { + include "*.properties" + } + } +} + +task incrementPatch { + dependsOn( + "java:clean", "java:incrementPatch", + "kotlin:clean", "kotlin:incrementPatch", + "annotation-processor:java:clean", "annotation-processor:java:incrementPatch", + "annotation-processor:kotlin:clean", "annotation-processor:kotlin:incrementPatch") +} + +task incrementMinor { + dependsOn( + "java:clean", "java:incrementMinor", + "kotlin:clean", "kotlin:incrementMinor", + "annotation-processor:java:clean", "annotation-processor:java:incrementMinor", + "annotation-processor:kotlin:clean", "annotation-processor:kotlin:incrementMinor") +} + +task incrementMajor { + dependsOn( + "java:clean", "java:incrementMajor", + "kotlin:clean", "kotlin:incrementMajor", + "annotation-processor:java:clean", "annotation-processor:java:incrementMajor", + "annotation-processor:kotlin:clean", "annotation-processor:kotlin:incrementMajor") +} + +task run { + dependsOn( + "java:run", "kotlin:run", "annotation-processor:java:run", "annotation-processor:kotlin:run") } \ No newline at end of file From acbd394d2d0c07769b766a1d71707397e5dcb109 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 23:10:03 -0700 Subject: [PATCH 011/155] Added default constructor to increment task. --- .../erik/gradle/semver/SemverIncrementTask.kt | 26 ++++++++--------- .../erik/gradle/semver/SemverPlugin.kt | 28 ++++--------------- 2 files changed, 17 insertions(+), 37 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt index a6e676d..ec282c4 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt @@ -31,31 +31,29 @@ */ package net.thauvin.erik.gradle.semver -import net.thauvin.erik.gradle.semver.SemverPlugin.Types import org.gradle.api.DefaultTask -import org.gradle.api.tasks.Input import org.gradle.api.tasks.TaskAction +import javax.inject.Inject -open class SemverIncrementTask : DefaultTask() { +open class SemverIncrementTask @Inject constructor( + private val config: SemverConfig, + private val version: Version, + private val type: String) + : DefaultTask() { init { group = "version" + description = "Increments ${type.capitalize()} version number." } - @Input - lateinit var config: SemverConfig - - @Input - lateinit var version: Version - - @Input - lateinit var type: Types - @Suppress("unused") @TaskAction fun increment() { - version.increment(isMajor = type == Types.MAJOR, isMinor = type == Types.MINOR, isPatch = type == Types.PATCH) + version.increment( + isMajor = type == SemverConfig.DEFAULT_MAJOR_KEY, + isMinor = type == SemverConfig.DEFAULT_MINOR_KEY, + isPatch = type == SemverConfig.DEFAULT_PATCH_KEY) project.version = version.semver - logger.warn("Version: ${project.version}") + logger.lifecycle("Version: ${project.version}") SemverPlugin.saveProperties(config, version) } } \ No newline at end of file diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 352d4a4..b7ac40c 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -43,9 +43,6 @@ class SemverPlugin : Plugin { private var version = Version() private lateinit var config: SemverConfig - enum class Types { - MAJOR, MINOR, PATCH - } companion object { fun saveProperties(config: SemverConfig, version: Version) { @@ -72,25 +69,10 @@ class SemverPlugin : Plugin { project!!.afterEvaluate(this::afterEvaluate) config = project.extensions.create("semver", SemverConfig::class.java) - project.tasks.create("incrementMajor", SemverIncrementTask::class.java) { - description = "Increments Major version number." - config = this@SemverPlugin.config - version = this@SemverPlugin.version - type = Types.MAJOR - } - - project.tasks.create("incrementMinor", SemverIncrementTask::class.java) { - description = "Increments Minor version number." - config = this@SemverPlugin.config - version = this@SemverPlugin.version - type = Types.MINOR - } - - project.tasks.create("incrementPatch", SemverIncrementTask::class.java) { - description = "Increments Patch version number." - config = this@SemverPlugin.config - version = this@SemverPlugin.version - type = Types.PATCH + project.tasks.apply { + create("incrementMajor", SemverIncrementTask::class.java, config, version, SemverConfig.DEFAULT_MAJOR_KEY) + create("incrementMinor", SemverIncrementTask::class.java, config, version, SemverConfig.DEFAULT_MINOR_KEY) + create("incrementPatch", SemverIncrementTask::class.java, config, version, SemverConfig.DEFAULT_PATCH_KEY) } } @@ -99,7 +81,7 @@ class SemverPlugin : Plugin { project.logger.warn("Please specify the version in ${config.properties} and remove it from ${project.buildFile.name}") } File(config.properties).apply { - + project.logger.info("[${SemverPlugin::class.simpleName}] Attempting to read properties from: `${this.absoluteFile}`.") if (canRead()) { FileInputStream(this).use { fis -> Properties().apply { From 81cefb1f32e2c4cd9d3ae6d32f61043be16d0ab2 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 23:10:14 -0700 Subject: [PATCH 012/155] Fixed typo. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 20a5069..13d9a37 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ version.prerelease=beta version.buildmeta=exp.sha.5114f85 ``` -`projet.version` will be `1.0.0-beta+exp.sha.5114f85` in Gradle. +`project.version` will be `1.0.0-beta+exp.sha.5114f85` in Gradle. - __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) From 5561a7dfa0a0d0a3fd8e6c5f59461473e82e2fa1 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 23:12:25 -0700 Subject: [PATCH 013/155] IDEA properties updates, etc. --- .idea/modules/examples-java_test.iml | 2 +- .idea/modules/semver.iml | 2 +- .idea/modules/semver_main.iml | 124 ++++++------- .idea/modules/semver_test.iml | 173 +++++++++--------- .../com/example/GeneratedVersion.java | 4 +- examples/java/version.properties | 6 +- examples/test/build.gradle | 6 +- examples/test/example.properties | 7 + examples/test/test.properties | 7 - examples/test/version.properties | 4 +- examples/version.properties | 7 + 11 files changed, 178 insertions(+), 164 deletions(-) create mode 100644 examples/test/example.properties delete mode 100644 examples/test/test.properties create mode 100644 examples/version.properties diff --git a/.idea/modules/examples-java_test.iml b/.idea/modules/examples-java_test.iml index ea3879f..569706d 100644 --- a/.idea/modules/examples-java_test.iml +++ b/.idea/modules/examples-java_test.iml @@ -11,8 +11,8 @@ - + diff --git a/.idea/modules/semver.iml b/.idea/modules/semver.iml index 92e92ce..41ae9a8 100644 --- a/.idea/modules/semver.iml +++ b/.idea/modules/semver.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/semver_main.iml b/.idea/modules/semver_main.iml index 3a0683d..41fc643 100644 --- a/.idea/modules/semver_main.iml +++ b/.idea/modules/semver_main.iml @@ -1,5 +1,5 @@ - + @@ -36,28 +36,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -69,24 +47,6 @@ - - - - - - - - - - - - - - - - - - @@ -101,7 +61,34 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -190,7 +177,18 @@ - + + + + + + + + + + + + @@ -199,16 +197,18 @@ - + - + + + - + @@ -223,9 +223,6 @@ - - - @@ -235,21 +232,12 @@ - + + - - - - - - - - - - - + @@ -264,10 +252,22 @@ + + + - + + + + + + + + + + diff --git a/.idea/modules/semver_test.iml b/.idea/modules/semver_test.iml index 4276081..76d5b1b 100644 --- a/.idea/modules/semver_test.iml +++ b/.idea/modules/semver_test.iml @@ -1,10 +1,17 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -112,7 +198,7 @@ - + @@ -127,35 +213,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -167,56 +224,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -227,7 +234,6 @@ - @@ -237,6 +243,7 @@ + diff --git a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java index 164d180..cce75d1 100644 --- a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java @@ -16,9 +16,9 @@ public final class GeneratedVersion { public final static String BUILDMETA_PREFIX = "+"; public final static String PROJECT = ""; - public final static Date BUILDDATE = new Date(1530560225038L); + public final static Date BUILDDATE = new Date(1530571116045L); public final static int MAJOR = 1; - public final static int MINOR = 0; + public final static int MINOR = 1; public final static int PATCH = 0; public final static String PRERELEASE = ""; public final static String BUILDMETA = ""; diff --git a/examples/java/version.properties b/examples/java/version.properties index 730b32d..b1704b5 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Mon Jul 02 12:31:48 PDT 2018 +#Mon Jul 02 21:58:49 PDT 2018 version.prerelease= -version.minor=0 version.buildmeta= -version.patch=0 +version.patch=2 version.major=1 +version.minor=0 diff --git a/examples/test/build.gradle b/examples/test/build.gradle index 1cb336e..a05b3ea 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -3,7 +3,7 @@ buildscript { mavenLocal() } dependencies { - classpath "net.thauvin.erik.gradle:semver:0.9.3-beta" + classpath "net.thauvin.erik.gradle:semver:0.9.4-beta" } } @@ -37,7 +37,7 @@ run { } semver { - properties = "test.properties" - keysPrefix = "test." + properties = "example.properties" + keysPrefix = "example." buildMetaKey = "meta" } \ No newline at end of file diff --git a/examples/test/example.properties b/examples/test/example.properties new file mode 100644 index 0000000..d002a26 --- /dev/null +++ b/examples/test/example.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Mon Jul 02 23:03:45 PDT 2018 +example.major=1 +example.meta=007 +example.prerelease= +example.minor=1 +example.patch=1 diff --git a/examples/test/test.properties b/examples/test/test.properties deleted file mode 100644 index ea8ca13..0000000 --- a/examples/test/test.properties +++ /dev/null @@ -1,7 +0,0 @@ -#Generated by the Semver Plugin for Gradle -#Sun Jul 01 13:20:13 PDT 2018 -test.major=1 -test.prerelease= -test.meta= -test.patch=0 -test.minor=0 diff --git a/examples/test/version.properties b/examples/test/version.properties index d7c2a53..0a909a3 100644 --- a/examples/test/version.properties +++ b/examples/test/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sun Jul 01 13:11:20 PDT 2018 +#Mon Jul 02 22:37:14 PDT 2018 version.prerelease= version.buildmeta= -version.patch=0 +version.patch=3 version.major=1 version.minor=0 diff --git a/examples/version.properties b/examples/version.properties new file mode 100644 index 0000000..cd564a3 --- /dev/null +++ b/examples/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Mon Jul 02 15:38:33 PDT 2018 +version.prerelease= +version.minor=1 +version.buildmeta= +version.patch=0 +version.major=1 From 7417ecb9f714d9718a952ad4a910b15579dc98f4 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 23:12:50 -0700 Subject: [PATCH 014/155] Added VSC workspace. --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6322c7f..a440b05 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,9 @@ **/.idea/libraries **/.idea/tasks.xml **/.idea/workspace.xml -*.sublime-* +*.code-workspace *.iws +*.sublime-* .classpath .DS_Store .gradle From a112b73d536a4b3cd857aad9bb5ff5f7465726bb Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 23:17:53 -0700 Subject: [PATCH 015/155] Version 0.9.4-beta. --- build.gradle.kts | 2 +- examples/annotation-processor/java/build.gradle | 2 +- examples/annotation-processor/kotlin/build.gradle.kts | 2 +- examples/java/build.gradle | 2 +- examples/kotlin/build.gradle.kts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 0b05543..92c0cd6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { id("org.jlleitschuh.gradle.ktlint") version "4.1.0" } -version = "0.9.3-beta" +version = "0.9.4-beta" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 9fedd3c..1ccb9c8 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.3-beta" + id "net.thauvin.erik.gradle.semver" version "0.9.4-beta" } // ./gradlew diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index 0b36410..b17889a 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -4,7 +4,7 @@ plugins { kotlin("jvm") version "1.2.50" application id("org.jetbrains.kotlin.kapt") version "1.2.50" - id("net.thauvin.erik.gradle.semver") version "0.9.3-beta" + id("net.thauvin.erik.gradle.semver") version "0.9.4-beta" } // ./gradlew diff --git a/examples/java/build.gradle b/examples/java/build.gradle index ccb0fbe..d8ae200 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.3-beta" + id "net.thauvin.erik.gradle.semver" version "0.9.4-beta" } // ./gradlew diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index b8f8b13..586d170 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -3,7 +3,7 @@ import net.thauvin.erik.gradle.semver.SemverConfig plugins { kotlin("jvm") version "1.2.50" application - id("net.thauvin.erik.gradle.semver") version "0.9.3-beta" + id("net.thauvin.erik.gradle.semver") version "0.9.4-beta" } // ./gradlew From 642066b7ea13a74440129e748a9e887d25a108e4 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 23:51:45 -0700 Subject: [PATCH 016/155] Fixed klinkCheck errors. --- .../net/thauvin/erik/gradle/semver/SemverIncrementTask.kt | 4 ++-- .../kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt index ec282c4..a062a64 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt @@ -38,8 +38,8 @@ import javax.inject.Inject open class SemverIncrementTask @Inject constructor( private val config: SemverConfig, private val version: Version, - private val type: String) - : DefaultTask() { + private val type: String +) : DefaultTask() { init { group = "version" description = "Increments ${type.capitalize()} version number." diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index b7ac40c..aa9705c 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -43,7 +43,6 @@ class SemverPlugin : Plugin { private var version = Version() private lateinit var config: SemverConfig - companion object { fun saveProperties(config: SemverConfig, version: Version) { Properties().apply { From a0e3bcd8932f00612d64c0a98257bcce3142edcf Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 2 Jul 2018 23:52:14 -0700 Subject: [PATCH 017/155] Added test to make sure the default properties is version.properties. --- .../kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index 0dccdd2..511d16f 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -70,6 +70,9 @@ object SemverConfigSpec : Spek({ } } } + on("should be version.properties") { + assertTrue(config.properties.equals("version.properties")) + } on("set keys to test.xxx") { config.keysPrefix = "test." val keys = listOf( From 989733422d0b9f544d22caad8013d7a1c8c65a55 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 3 Jul 2018 13:58:56 -0700 Subject: [PATCH 018/155] Made cacheable. --- .../net/thauvin/erik/gradle/semver/SemverIncrementTask.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt index a062a64..e329f64 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt @@ -32,9 +32,11 @@ package net.thauvin.erik.gradle.semver import org.gradle.api.DefaultTask +import org.gradle.api.tasks.CacheableTask import org.gradle.api.tasks.TaskAction import javax.inject.Inject +@CacheableTask open class SemverIncrementTask @Inject constructor( private val config: SemverConfig, private val version: Version, From 53bd8d747697d2253b0b320e65a05314074972ef Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 3 Jul 2018 14:00:12 -0700 Subject: [PATCH 019/155] Added file absolute path to logger.info messages. --- .../thauvin/erik/gradle/semver/SemverPlugin.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index aa9705c..7c477c2 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -76,11 +76,14 @@ class SemverPlugin : Plugin { } private fun afterEvaluate(project: Project) { + val propsFile = File(config.properties) if (project.version != "unspecified") { - project.logger.warn("Please specify the version in ${config.properties} and remove it from ${project.buildFile.name}") + project.logger.warn( + "Please specify the version in ${propsFile.name} and remove it from ${project.buildFile.name}") } - File(config.properties).apply { - project.logger.info("[${SemverPlugin::class.simpleName}] Attempting to read properties from: `${this.absoluteFile}`.") + propsFile.apply { + project.logger.info( + "[${SemverPlugin::class.simpleName}] Attempting to read properties from: `$absoluteFile`.") if (canRead()) { FileInputStream(this).use { fis -> Properties().apply { @@ -89,14 +92,16 @@ class SemverPlugin : Plugin { version.minor = getProperty(config.minorKey, Version.DEFAULT_MINOR) version.patch = getProperty(config.patchKey, Version.DEFAULT_PATCH) version.preRelease = getProperty(config.preReleaseKey, Version.DEFAULT_EMPTY) - version.preReleasePrefix = getProperty(config.preReleasePrefixKey, Version.DEFAULT_PRERELEASE_PREFIX) + version.preReleasePrefix = + getProperty(config.preReleasePrefixKey, Version.DEFAULT_PRERELEASE_PREFIX) version.buildMeta = getProperty(config.buildMetaKey, Version.DEFAULT_EMPTY) - version.buildMetaPrefix = getProperty(config.buildMetaPrefixKey, Version.DEFAULT_BUILDMETA_PREFIX) + version.buildMetaPrefix = + getProperty(config.buildMetaPrefixKey, Version.DEFAULT_BUILDMETA_PREFIX) version.separator = getProperty(config.separatorKey, Version.DEFAULT_SEPARATOR) } } } else if (exists()) { - throw GradleException("Unable to read version from ${config.properties}") + throw GradleException("Unable to read version from: `$absoluteFile`") } project.version = version.semver saveProperties(config, version) From 964ddf5168c9238db5953814e365146c702e3616 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 3 Jul 2018 14:01:09 -0700 Subject: [PATCH 020/155] Syntax fix. --- .../kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index 511d16f..8716e92 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -71,7 +71,7 @@ object SemverConfigSpec : Spek({ } } on("should be version.properties") { - assertTrue(config.properties.equals("version.properties")) + assertTrue(config.properties == "version.properties") } on("set keys to test.xxx") { config.keysPrefix = "test." From 17f2d1ad8098641968ac11a291fe0f181b652236 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 3 Jul 2018 14:01:36 -0700 Subject: [PATCH 021/155] Fixed examples for IDEA. --- .idea/modules.xml | 12 +- .../java/annotation-processor-java.iml | 2 +- .../java/annotation-processor-java_main.iml | 2 +- .../java/annotation-processor-java_test.iml | 2 +- .../kotlin/annotation-processor-kotlin.iml | 2 +- .../annotation-processor-kotlin_main.iml | 2 +- .../annotation-processor-kotlin_test.iml | 2 +- .idea/modules/ap-examples-java.iml | 2 +- .idea/modules/ap-examples-java_main.iml | 4 +- .idea/modules/ap-examples-java_test.iml | 2 +- .idea/modules/ap-examples-kotlin.iml | 2 +- .idea/modules/ap-examples-kotlin_main.iml | 4 +- .idea/modules/ap-examples-kotlin_test.iml | 2 +- .idea/modules/examples-java.iml | 2 +- .idea/modules/examples-java_main.iml | 2 +- .idea/modules/examples-java_test.iml | 4 +- .idea/modules/examples-kotlin.iml | 2 +- .idea/modules/examples-kotlin_main.iml | 4 +- .idea/modules/examples-kotlin_test.iml | 4 +- .idea/modules/semver_main.iml | 142 ++++++++--------- .idea/modules/semver_test.iml | 146 +++++++++--------- .../annotation-processor/java/.idea/.name | 1 + .../java/.idea/compiler.xml | 9 ++ .../java/.idea/encodings.xml | 6 + .../inspectionProfiles/Project_Default.xml | 53 +++++++ .../annotation-processor/java/.idea/misc.xml | 6 + .../java/.idea/modules.xml | 10 ++ .../java/.idea/modules/ap-examples-java.iml | 13 ++ .../.idea/modules/ap-examples-java_main.iml | 17 ++ .../.idea/modules/ap-examples-java_test.iml | 14 ++ .../annotation-processor/java/.idea/vcs.xml | 6 + .../java/src/test/java/AppTest.java | 11 -- .../java/version.properties | 2 +- .../annotation-processor/kotlin/.idea/.name | 1 + .../kotlin/.idea/compiler.xml | 9 ++ .../kotlin/.idea/encodings.xml | 6 + .../inspectionProfiles/Project_Default.xml | 53 +++++++ .../kotlin/.idea/misc.xml | 6 + .../kotlin/.idea/modules.xml | 10 ++ .../.idea/modules/ap-examples-kotlin.iml | 13 ++ .../.idea/modules/ap-examples-kotlin_main.iml | 56 +++++++ .../.idea/modules/ap-examples-kotlin_test.iml | 53 +++++++ .../kotlin/version.properties | 2 +- examples/java/.idea/.name | 1 + examples/java/.idea/compiler.xml | 9 ++ examples/java/.idea/encodings.xml | 6 + .../inspectionProfiles/Project_Default.xml | 53 +++++++ examples/java/.idea/misc.xml | 6 + examples/java/.idea/modules.xml | 10 ++ examples/java/.idea/modules/examples-java.iml | 13 ++ .../java/.idea/modules/examples-java_main.iml | 12 ++ .../java/.idea/modules/examples-java_test.iml | 20 +++ examples/java/src/test/java/AppTest.java | 2 +- examples/java/version.properties | 4 +- examples/kotlin/.idea/.name | 1 + examples/kotlin/.idea/compiler.xml | 9 ++ examples/kotlin/.idea/encodings.xml | 6 + .../inspectionProfiles/Project_Default.xml | 53 +++++++ examples/kotlin/.idea/kotlinc.xml | 7 + examples/kotlin/.idea/misc.xml | 6 + examples/kotlin/.idea/modules.xml | 10 ++ .../kotlin/.idea/modules/examples-kotlin.iml | 13 ++ .../.idea/modules/examples-kotlin_main.iml | 38 +++++ .../.idea/modules/examples-kotlin_test.iml | 43 ++++++ examples/kotlin/version.properties | 4 +- examples/settings.gradle | 4 +- examples/test/build.gradle | 2 +- examples/test/example.properties | 8 +- examples/version.properties | 4 +- 69 files changed, 847 insertions(+), 200 deletions(-) create mode 100644 examples/annotation-processor/java/.idea/.name create mode 100644 examples/annotation-processor/java/.idea/compiler.xml create mode 100644 examples/annotation-processor/java/.idea/encodings.xml create mode 100644 examples/annotation-processor/java/.idea/inspectionProfiles/Project_Default.xml create mode 100644 examples/annotation-processor/java/.idea/misc.xml create mode 100644 examples/annotation-processor/java/.idea/modules.xml create mode 100644 examples/annotation-processor/java/.idea/modules/ap-examples-java.iml create mode 100644 examples/annotation-processor/java/.idea/modules/ap-examples-java_main.iml create mode 100644 examples/annotation-processor/java/.idea/modules/ap-examples-java_test.iml create mode 100644 examples/annotation-processor/java/.idea/vcs.xml delete mode 100644 examples/annotation-processor/java/src/test/java/AppTest.java create mode 100644 examples/annotation-processor/kotlin/.idea/.name create mode 100644 examples/annotation-processor/kotlin/.idea/compiler.xml create mode 100644 examples/annotation-processor/kotlin/.idea/encodings.xml create mode 100644 examples/annotation-processor/kotlin/.idea/inspectionProfiles/Project_Default.xml create mode 100644 examples/annotation-processor/kotlin/.idea/misc.xml create mode 100644 examples/annotation-processor/kotlin/.idea/modules.xml create mode 100644 examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.iml create mode 100644 examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin_main.iml create mode 100644 examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin_test.iml create mode 100644 examples/java/.idea/.name create mode 100644 examples/java/.idea/compiler.xml create mode 100644 examples/java/.idea/encodings.xml create mode 100644 examples/java/.idea/inspectionProfiles/Project_Default.xml create mode 100644 examples/java/.idea/misc.xml create mode 100644 examples/java/.idea/modules.xml create mode 100644 examples/java/.idea/modules/examples-java.iml create mode 100644 examples/java/.idea/modules/examples-java_main.iml create mode 100644 examples/java/.idea/modules/examples-java_test.iml create mode 100644 examples/kotlin/.idea/.name create mode 100644 examples/kotlin/.idea/compiler.xml create mode 100644 examples/kotlin/.idea/encodings.xml create mode 100644 examples/kotlin/.idea/inspectionProfiles/Project_Default.xml create mode 100644 examples/kotlin/.idea/kotlinc.xml create mode 100644 examples/kotlin/.idea/misc.xml create mode 100644 examples/kotlin/.idea/modules.xml create mode 100644 examples/kotlin/.idea/modules/examples-kotlin.iml create mode 100644 examples/kotlin/.idea/modules/examples-kotlin_main.iml create mode 100644 examples/kotlin/.idea/modules/examples-kotlin_test.iml diff --git a/.idea/modules.xml b/.idea/modules.xml index dac269c..65c2e22 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -16,12 +16,12 @@ - - - - - - + + + + + + diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java.iml b/.idea/modules/annotation-processor/java/annotation-processor-java.iml index a0a747b..ce39038 100644 --- a/.idea/modules/annotation-processor/java/annotation-processor-java.iml +++ b/.idea/modules/annotation-processor/java/annotation-processor-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml b/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml index 63956e7..1868216 100644 --- a/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml +++ b/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml b/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml index 38c2600..bb2229c 100644 --- a/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml +++ b/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml index af6355a..fcdfcab 100644 --- a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml index c9f697a..a14be09 100644 --- a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml index 4a71ebf..a17a98b 100644 --- a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-java.iml b/.idea/modules/ap-examples-java.iml index d890132..5e8762e 100644 --- a/.idea/modules/ap-examples-java.iml +++ b/.idea/modules/ap-examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-java_main.iml b/.idea/modules/ap-examples-java_main.iml index f0872d0..1d43f7f 100644 --- a/.idea/modules/ap-examples-java_main.iml +++ b/.idea/modules/ap-examples-java_main.iml @@ -1,5 +1,5 @@ - + @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/.idea/modules/ap-examples-java_test.iml b/.idea/modules/ap-examples-java_test.iml index 1168954..1cf4c8d 100644 --- a/.idea/modules/ap-examples-java_test.iml +++ b/.idea/modules/ap-examples-java_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin.iml b/.idea/modules/ap-examples-kotlin.iml index 4a799f3..968b835 100644 --- a/.idea/modules/ap-examples-kotlin.iml +++ b/.idea/modules/ap-examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin_main.iml b/.idea/modules/ap-examples-kotlin_main.iml index 9b5da31..ae3269b 100644 --- a/.idea/modules/ap-examples-kotlin_main.iml +++ b/.idea/modules/ap-examples-kotlin_main.iml @@ -1,5 +1,5 @@ - + @@ -49,8 +49,8 @@ - + \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin_test.iml b/.idea/modules/ap-examples-kotlin_test.iml index 93dfa26..c5affde 100644 --- a/.idea/modules/ap-examples-kotlin_test.iml +++ b/.idea/modules/ap-examples-kotlin_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java.iml b/.idea/modules/examples-java.iml index 4a61c8a..ca09e15 100644 --- a/.idea/modules/examples-java.iml +++ b/.idea/modules/examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java_main.iml b/.idea/modules/examples-java_main.iml index e92db06..2f21da8 100644 --- a/.idea/modules/examples-java_main.iml +++ b/.idea/modules/examples-java_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java_test.iml b/.idea/modules/examples-java_test.iml index 569706d..69be80a 100644 --- a/.idea/modules/examples-java_test.iml +++ b/.idea/modules/examples-java_test.iml @@ -1,5 +1,5 @@ - + @@ -11,8 +11,8 @@ - + diff --git a/.idea/modules/examples-kotlin.iml b/.idea/modules/examples-kotlin.iml index a9f4b89..566b3a0 100644 --- a/.idea/modules/examples-kotlin.iml +++ b/.idea/modules/examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin_main.iml b/.idea/modules/examples-kotlin_main.iml index 9b8f986..aa4e67b 100644 --- a/.idea/modules/examples-kotlin_main.iml +++ b/.idea/modules/examples-kotlin_main.iml @@ -1,5 +1,5 @@ - + @@ -8,7 +8,7 @@ + + \ No newline at end of file From abe1ca269cfedea1d3b6b1a14993f950d29c4009 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 3 Jul 2018 21:24:47 -0700 Subject: [PATCH 026/155] Ignore *.class in source. --- examples/annotation-processor/java/.gitignore | 1 + examples/java/.gitignore | 3 ++- examples/java/build.gradle | 2 -- examples/java/src/main/java/App.class | Bin 0 -> 513 bytes examples/java/version.properties | 4 ++-- examples/test/.gitignore | 1 + examples/test/test.groovy | 2 +- 7 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 examples/java/src/main/java/App.class diff --git a/examples/annotation-processor/java/.gitignore b/examples/annotation-processor/java/.gitignore index 6322c7f..e6a12e2 100644 --- a/examples/annotation-processor/java/.gitignore +++ b/examples/annotation-processor/java/.gitignore @@ -3,6 +3,7 @@ **/.idea/libraries **/.idea/tasks.xml **/.idea/workspace.xml +**/src/*.class *.sublime-* *.iws .classpath diff --git a/examples/java/.gitignore b/examples/java/.gitignore index 6322c7f..722fba3 100644 --- a/examples/java/.gitignore +++ b/examples/java/.gitignore @@ -3,8 +3,9 @@ **/.idea/libraries **/.idea/tasks.xml **/.idea/workspace.xml -*.sublime-* +**/src/*.class *.iws +*.sublime-* .classpath .DS_Store .gradle diff --git a/examples/java/build.gradle b/examples/java/build.gradle index d8ae200..c391237 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -11,8 +11,6 @@ plugins { mainClassName = 'App' -compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated") - defaultTasks 'run' dependencies { diff --git a/examples/java/src/main/java/App.class b/examples/java/src/main/java/App.class new file mode 100644 index 0000000000000000000000000000000000000000..47d006c905030478a86bb3ceeec025b8a177cd1c GIT binary patch literal 513 zcmZWlT}uK{5Ixsj-F4ma+dj%|Bns2-#OLx`SMy(}yHA=|a+UsVqZ1^s}2 zR5W)BOnjL$_uM%%XXfks{S&|u_6_JLrcpv!L&boCq6`}bHnF8+TSJv0b?gSNIAKt% zW}iVl3rCzG+jRqeHT4HPy0r%$F{*F70Yk;Q?~d(9yY1P5)9#7L4V;b?W*jaqBF+U7 z3?-|%TE<}X!f7<*=dSFipH3z%*~>&4hK3yzHSCfR;!R|c)39fvjs}By$vrQuKZTJu zYBA&%4z34dJ`_t-@A*M+pZbJT`Y8YUaKrWuc@^ZC+kS_k824DF8MKKk@@UbrwYosF zj|Lr3r|W`{N#7JR^r{gu!sNjm?3EHSO)(XdDiy9_opM=v7)yct8xkK-?&eTuNY0R2 h$P6T6aSj@Z=oEj_DxsXB6towD|1+eKJaGvWegLT-Vdek; literal 0 HcmV?d00001 diff --git a/examples/java/version.properties b/examples/java/version.properties index 35cd672..44266b1 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Tue Jul 03 12:00:25 PDT 2018 +#Tue Jul 03 21:18:17 PDT 2018 version.prerelease= -version.minor=0 version.buildmeta= version.patch=2 version.major=1 +version.minor=0 diff --git a/examples/test/.gitignore b/examples/test/.gitignore index 950c3cc..7de13c3 100644 --- a/examples/test/.gitignore +++ b/examples/test/.gitignore @@ -3,6 +3,7 @@ **/.idea/libraries **/.idea/tasks.xml **/.idea/workspace.xml +**/src/*.class *.iws *.properties *.sublime-* diff --git a/examples/test/test.groovy b/examples/test/test.groovy index 5efb64a..5179634 100644 --- a/examples/test/test.groovy +++ b/examples/test/test.groovy @@ -1,4 +1,4 @@ -f = new File("K:\\kotlin\\semver-gradle\\examples\\test\\examples.properties") +f = new File("examples.properties") println(f.absoluteFile) println(f.exists()) println(f.canRead()) \ No newline at end of file From b50f2bad9a19c3f9aa594232ca7ce3e4a9540437 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 7 Jul 2018 01:40:16 -0700 Subject: [PATCH 027/155] Updated example to cat the version properties file. --- .../com/example/GeneratedVersion.java | 6 ++-- examples/java/build.gradle | 5 +++- examples/java/src/main/java/App.java | 28 ++++++++++++------- examples/java/version.properties | 2 +- examples/kotlin/build.gradle.kts | 5 +++- .../src/main/kotlin/com/example/Main.kt | 15 +++++++++- examples/kotlin/version.properties | 2 +- examples/test/src/main/java/App.java | 3 +- examples/test/test.groovy | 12 +++++--- examples/version.properties | 6 ++-- 10 files changed, 58 insertions(+), 26 deletions(-) diff --git a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java index cce75d1..beca5c4 100644 --- a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java @@ -16,10 +16,10 @@ public final class GeneratedVersion { public final static String BUILDMETA_PREFIX = "+"; public final static String PROJECT = ""; - public final static Date BUILDDATE = new Date(1530571116045L); + public final static Date BUILDDATE = new Date(1530835680171L); public final static int MAJOR = 1; - public final static int MINOR = 1; - public final static int PATCH = 0; + public final static int MINOR = 2; + public final static int PATCH = 1; public final static String PRERELEASE = ""; public final static String BUILDMETA = ""; diff --git a/examples/java/build.gradle b/examples/java/build.gradle index c391237..18922da 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -41,4 +41,7 @@ run { doFirst { println "Version: $version" } -} + + // args = ['example.properties'] + args = ['version.properties'] +} \ No newline at end of file diff --git a/examples/java/src/main/java/App.java b/examples/java/src/main/java/App.java index c2347df..f1550d6 100644 --- a/examples/java/src/main/java/App.java +++ b/examples/java/src/main/java/App.java @@ -1,12 +1,20 @@ -/* - * This Java source file was generated by the Gradle 'init' task. - */ -public class App { - public static void main(String[] args) { - System.out.println(new App().getGreeting()); - } +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; - public String getGreeting() { - return "Hello world."; +public class App { + public static void main(String... args) throws IOException { + if (args.length == 1) { + final Path path = Paths.get(args[0]); + if (Files.exists(path)) { + final List content = Files.readAllLines(path); + System.out.println("> cat " + path.getFileName()); + for (final String line : content) { + System.out.println(line); + } + } + } } -} +} \ No newline at end of file diff --git a/examples/java/version.properties b/examples/java/version.properties index 44266b1..f6974cf 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Tue Jul 03 21:18:17 PDT 2018 +#Sat Jul 07 01:16:12 PDT 2018 version.prerelease= version.buildmeta= version.patch=2 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 586d170..51efc61 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -38,9 +38,12 @@ tasks { useTestNG() } - val run by getting { + val run by getting(JavaExec::class) { doFirst { println("Version: $version") } + + // args = listof("example.properties") + args = listOf("version.properties") } } diff --git a/examples/kotlin/src/main/kotlin/com/example/Main.kt b/examples/kotlin/src/main/kotlin/com/example/Main.kt index f6cdb3c..4ef488b 100644 --- a/examples/kotlin/src/main/kotlin/com/example/Main.kt +++ b/examples/kotlin/src/main/kotlin/com/example/Main.kt @@ -1,3 +1,16 @@ package com.example -fun main(args: Array) = println("Hello world.") \ No newline at end of file +import java.io.File + +fun main(args: Array) { + if (args.size == 1) { + File(args[0]).apply { + if (exists()) { + println("> cat $name") + forEachLine { + println(it) + } + } + } + } +} \ No newline at end of file diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index c682fd9..5088bec 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Tue Jul 03 11:42:03 PDT 2018 +#Sat Jul 07 00:50:57 PDT 2018 version.prerelease= version.buildmeta= version.patch=0 diff --git a/examples/test/src/main/java/App.java b/examples/test/src/main/java/App.java index d1cb582..318ac03 100644 --- a/examples/test/src/main/java/App.java +++ b/examples/test/src/main/java/App.java @@ -11,8 +11,9 @@ public class App { public void cat(String name) { try { final List content = Files.readAllLines(Paths.get(name)); + System.out.println("> cat " + name); for (String line : content) { - if (!line.startsWith("#")) System.out.println(line); + System.out.println(line); } } catch (IOException e) { System.out.println(e); diff --git a/examples/test/test.groovy b/examples/test/test.groovy index 5179634..7f66d71 100644 --- a/examples/test/test.groovy +++ b/examples/test/test.groovy @@ -1,4 +1,8 @@ -f = new File("examples.properties") -println(f.absoluteFile) -println(f.exists()) -println(f.canRead()) \ No newline at end of file +if (this.args.length > 0) { + for (arg in this.args) { + f = new File(arg) + println("${f.name}\t-> exits: ${f.exists()}, canRead: ${f.canRead()} --> `${f.absoluteFile}`") + } +} else { + println("Usage: groovy ${this.class.getName()} filename") +} \ No newline at end of file diff --git a/examples/version.properties b/examples/version.properties index 69cf961..08a3e18 100644 --- a/examples/version.properties +++ b/examples/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Tue Jul 03 14:16:07 PDT 2018 +#Fri Jul 06 23:36:26 PDT 2018 version.prerelease= version.buildmeta= -version.patch=0 +version.patch=1 version.major=1 -version.minor=1 +version.minor=2 From 07b73fb5e1ed37731844e586c4b83d5dca0ac58f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 7 Jul 2018 11:04:58 -0700 Subject: [PATCH 028/155] Added vcs. --- .gitignore | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index a440b05..65deb36 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,7 @@ -**/.idea/dictionaries -**/.idea/gradle.xml -**/.idea/libraries -**/.idea/tasks.xml -**/.idea/workspace.xml -*.code-workspace -*.iws -*.sublime-* +!.vscode/extensions.json +!.vscode/launch.json +!.vscode/settings.json +!.vscode/tasks.json .classpath .DS_Store .gradle @@ -13,6 +9,25 @@ .nb-gradle .project .settings +.vscode/* +*.code-workspace +*.iws +*.sublime-* +**/.idea/**/dataSources.ids +**/.idea/**/dataSources.local.xml +**/.idea/**/dataSources/ +**/.idea/**/dbnavigator.xml +**/.idea/**/dictionaries +**/.idea/**/dynamic.xml +**/.idea/**/gradle.xml +**/.idea/**/libraries +**/.idea/**/shelf +**/.idea/**/sqlDataSources.xml +**/.idea/**/tasks.xml +**/.idea/**/uiDesigner.xml +**/.idea/**/usage.statistics.xml +**/.idea/**/workspace.xml +**/*.class /bin /build /deploy From d3f7203011b10ada706b572585139e315b0d1303 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 7 Jul 2018 11:05:19 -0700 Subject: [PATCH 029/155] Version 0.9.5-beta --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 92c0cd6..575288f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { id("org.jlleitschuh.gradle.ktlint") version "4.1.0" } -version = "0.9.4-beta" +version = "0.9.5-beta" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" From 2f96e48186a74d6e67519fa3f6cfca7ad987366d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 7 Jul 2018 18:30:22 -0700 Subject: [PATCH 030/155] Added version to info log. --- src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index f778021..146675a 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -104,6 +104,7 @@ class SemverPlugin : Plugin { throw GradleException("Unable to read version from: `$absoluteFile`") } project.version = version.semver + project.logger.info("[${SemverPlugin::class.simpleName}] Project version set to: ${project.version}") saveProperties(config, version) } } From ff77b4e0b634efa8bfe9753b979a4e6d8865f1b5 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 7 Jul 2018 18:30:57 -0700 Subject: [PATCH 031/155] Added script to run all examples. --- examples/build.gradle | 36 ------------------------------------ examples/examples.sh | 17 +++++++++++++++++ examples/settings.gradle | 2 -- examples/version.properties | 7 ------- 4 files changed, 17 insertions(+), 45 deletions(-) delete mode 100644 examples/build.gradle create mode 100644 examples/examples.sh delete mode 100644 examples/settings.gradle delete mode 100644 examples/version.properties diff --git a/examples/build.gradle b/examples/build.gradle deleted file mode 100644 index 1e3ca7e..0000000 --- a/examples/build.gradle +++ /dev/null @@ -1,36 +0,0 @@ -task clean(type: Delete) { - doFirst { - delete fileTree(".") { - include "*.properties" - } - } -} - -task incrementPatch { - dependsOn( - "java:clean", "java:incrementPatch", - "kotlin:clean", "kotlin:incrementPatch", - "annotation-processor:java:clean", "annotation-processor:java:incrementPatch", - "annotation-processor:kotlin:clean", "annotation-processor:kotlin:incrementPatch") -} - -task incrementMinor { - dependsOn( - "java:clean", "java:incrementMinor", - "kotlin:clean", "kotlin:incrementMinor", - "annotation-processor:java:clean", "annotation-processor:java:incrementMinor", - "annotation-processor:kotlin:clean", "annotation-processor:kotlin:incrementMinor") -} - -task incrementMajor { - dependsOn( - "java:clean", "java:incrementMajor", - "kotlin:clean", "kotlin:incrementMajor", - "annotation-processor:java:clean", "annotation-processor:java:incrementMajor", - "annotation-processor:kotlin:clean", "annotation-processor:kotlin:incrementMajor") -} - -task run { - dependsOn( - "java:run", "kotlin:run", "annotation-processor:java:run", "annotation-processor:kotlin:run") -} \ No newline at end of file diff --git a/examples/examples.sh b/examples/examples.sh new file mode 100644 index 0000000..8f6bf8a --- /dev/null +++ b/examples/examples.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ $# -eq 0 ]; then + echo "Usage: $0 [...]" + exit 1 +fi + +dir=$(dirname "$(readlink -f "$0")") +color=$(tput setaf 6) +normal=$(tput sgr0) + +for ex in "java" "kotlin" "annotation-processor/java" "annotation-processor/kotlin"; do + cd "$dir/$ex" || exit 1 + echo "> Project: ${color}${ex}${normal}" + gradle clean "$@" --console=plain --no-build-cache || exit 1 + echo +done \ No newline at end of file diff --git a/examples/settings.gradle b/examples/settings.gradle deleted file mode 100644 index 9001ea6..0000000 --- a/examples/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -include 'java', 'kotlin', 'annotation-processor:java', 'annotation-processor:kotlin', "test" -rootProject.name = 'examples' diff --git a/examples/version.properties b/examples/version.properties deleted file mode 100644 index 08a3e18..0000000 --- a/examples/version.properties +++ /dev/null @@ -1,7 +0,0 @@ -#Generated by the Semver Plugin for Gradle -#Fri Jul 06 23:36:26 PDT 2018 -version.prerelease= -version.buildmeta= -version.patch=1 -version.major=1 -version.minor=2 From 762ff8553f10937501c9cd11f23341971c2a8a06 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 7 Jul 2018 18:31:20 -0700 Subject: [PATCH 032/155] Cleaned examples. --- examples/annotation-processor/java/build.gradle | 2 +- .../src/generated/com/example/GeneratedVersion.java | 6 +++--- .../annotation-processor/java/version.properties | 6 +++--- .../annotation-processor/kotlin/build.gradle.kts | 10 +++++----- .../annotation-processor/kotlin/version.properties | 6 +++--- examples/java/build.gradle | 12 ++++++------ examples/java/version.properties | 6 +++--- examples/kotlin/build.gradle.kts | 12 ++++++------ examples/kotlin/version.properties | 6 +++--- 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 1ccb9c8..1e2a6ec 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.4-beta" + id "net.thauvin.erik.gradle.semver" version "0.9.5-beta" } // ./gradlew diff --git a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java index beca5c4..c3895b6 100644 --- a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java @@ -16,9 +16,9 @@ public final class GeneratedVersion { public final static String BUILDMETA_PREFIX = "+"; public final static String PROJECT = ""; - public final static Date BUILDDATE = new Date(1530835680171L); - public final static int MAJOR = 1; - public final static int MINOR = 2; + public final static Date BUILDDATE = new Date(1531013360196L); + public final static int MAJOR = 2; + public final static int MINOR = 1; public final static int PATCH = 1; public final static String PRERELEASE = ""; public final static String BUILDMETA = ""; diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index 3377ded..397e0f5 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Tue Jul 03 11:59:56 PDT 2018 +#Sat Jul 07 18:29:19 PDT 2018 version.prerelease= -version.minor=0 version.buildmeta= -version.patch=0 +version.patch=1 version.major=2 +version.minor=1 diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index b17889a..a6740f8 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -4,7 +4,7 @@ plugins { kotlin("jvm") version "1.2.50" application id("org.jetbrains.kotlin.kapt") version "1.2.50" - id("net.thauvin.erik.gradle.semver") version "0.9.4-beta" + id("net.thauvin.erik.gradle.semver") version "0.9.5-beta" } // ./gradlew @@ -33,8 +33,8 @@ application { } configure { - //properties = "example.properties" - //keysPrefix = "example." - //preReleaseKey = "release" - //buildMetaKey = "meta" +// properties = "example.properties" +// keysPrefix = "example." +// preReleaseKey = "release" +// buildMetaKey = "meta" } diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index 6049460..260c02c 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Tue Jul 03 12:10:18 PDT 2018 +#Sat Jul 07 18:29:24 PDT 2018 version.prerelease= -version.minor=1 version.buildmeta= -version.patch=2 +version.patch=1 version.major=11 +version.minor=2 diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 18922da..d9b30b4 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.4-beta" + id "net.thauvin.erik.gradle.semver" version "0.9.5-beta" } // ./gradlew @@ -31,10 +31,10 @@ test { } semver { - // properties = "example.properties" - // keysPrefix = "example." - // preReleaseKey = "release" - // buildMetaKey = "meta" +// properties = "example.properties" +// keysPrefix = "example." +// preReleaseKey = "release" +// buildMetaKey = "meta" } run { @@ -42,6 +42,6 @@ run { println "Version: $version" } - // args = ['example.properties'] +// args = ['example.properties'] args = ['version.properties'] } \ No newline at end of file diff --git a/examples/java/version.properties b/examples/java/version.properties index f6974cf..8a50be1 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sat Jul 07 01:16:12 PDT 2018 +#Sat Jul 07 18:29:10 PDT 2018 version.prerelease= version.buildmeta= -version.patch=2 +version.patch=1 version.major=1 -version.minor=0 +version.minor=1 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 51efc61..253c20d 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -3,7 +3,7 @@ import net.thauvin.erik.gradle.semver.SemverConfig plugins { kotlin("jvm") version "1.2.50" application - id("net.thauvin.erik.gradle.semver") version "0.9.4-beta" + id("net.thauvin.erik.gradle.semver") version "0.9.5-beta" } // ./gradlew @@ -27,10 +27,10 @@ application { } configure { - //properties = "example.properties" - //keysPrefix = "example." - //preReleaseKey = "release" - //buildMetaKey = "meta" +// properties = "example.properties" +// keysPrefix = "example." +// preReleaseKey = "release" +// buildMetaKey = "meta" } tasks { @@ -43,7 +43,7 @@ tasks { println("Version: $version") } - // args = listof("example.properties") +// args = listOf("example.properties") args = listOf("version.properties") } } diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 5088bec..cd6ff2b 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sat Jul 07 00:50:57 PDT 2018 +#Sat Jul 07 18:29:14 PDT 2018 version.prerelease= version.buildmeta= -version.patch=0 +version.patch=1 version.major=1 -version.minor=0 +version.minor=2 From b96c5d481b655e30e4ec29087d94b6266b0aee8e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 8 Jul 2018 19:04:16 -0700 Subject: [PATCH 033/155] Fixed test. --- examples/java/src/test/java/AppTest.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/java/src/test/java/AppTest.java b/examples/java/src/test/java/AppTest.java index f7bb9e3..e5e3dd6 100644 --- a/examples/java/src/test/java/AppTest.java +++ b/examples/java/src/test/java/AppTest.java @@ -1,11 +1,12 @@ import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertAll; class AppTest { @Test - void testAppHasAGreeting() { + void testAppHasMain() { final App classUnderTest = new App(); - assertNotNull("app should have a greeting", classUnderTest.getGreeting()); + assertAll("app should have a main method.", + () -> classUnderTest.getClass().getMethod("main", String[].class)); } -} +} \ No newline at end of file From 29c6fe9132d6a620cf47e8fc718a381cab8acc93 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 10 Jul 2018 00:33:25 -0700 Subject: [PATCH 034/155] Added sorted properties. (Test) --- .../erik/gradle/semver/SemverPlugin.kt | 2 +- .../erik/gradle/semver/SortedProperties.kt | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 146675a..d0fecbc 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -45,7 +45,7 @@ class SemverPlugin : Plugin { companion object { fun saveProperties(config: SemverConfig, version: Version) { - Properties().apply { + SortedProperties().apply { put(config.majorKey, version.major) put(config.minorKey, version.minor) put(config.patchKey, version.patch) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt new file mode 100644 index 0000000..c84a4b1 --- /dev/null +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt @@ -0,0 +1,44 @@ +/* + * SortedProperties.kt + * + * Copyright (c) 2018, Erik C. Thauvin (erik@thauvin.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of this project nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.thauvin.erik.gradle.semver + +import java.util.Collections +import java.util.Enumeration +import java.util.Properties + +internal class SortedProperties : Properties() { + override fun keys(): Enumeration { + val keys = Collections.list(super.keys()) + keys.sortWith(Comparator { a, b -> a.toString().compareTo(b.toString()) }) + return Collections.enumeration(keys) + } +} \ No newline at end of file From 32931bcfa4cd90914cd36a6f4140914408da33bf Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 10 Jul 2018 00:43:48 -0700 Subject: [PATCH 035/155] Version 0.9.6-beta --- .idea/modules/semver.iml | 4 +- .idea/modules/semver_main.iml | 180 ++++++++--------- .idea/modules/semver_test.iml | 184 +++++++++--------- build.gradle.kts | 2 +- .../annotation-processor/java/build.gradle | 2 +- .../kotlin/build.gradle.kts | 2 +- examples/java/build.gradle | 4 +- examples/java/version.properties | 4 +- examples/kotlin/build.gradle.kts | 2 +- examples/test/build.gradle | 2 +- 10 files changed, 192 insertions(+), 194 deletions(-) diff --git a/.idea/modules/semver.iml b/.idea/modules/semver.iml index 5d2160b..47bac36 100644 --- a/.idea/modules/semver.iml +++ b/.idea/modules/semver.iml @@ -1,5 +1,5 @@ - + @@ -9,7 +9,5 @@ - - \ No newline at end of file diff --git a/.idea/modules/semver_main.iml b/.idea/modules/semver_main.iml index 78256c8..79f089c 100644 --- a/.idea/modules/semver_main.iml +++ b/.idea/modules/semver_main.iml @@ -1,5 +1,5 @@ - + @@ -36,26 +36,6 @@ - - - - - - - - - - - - - - - - - - - - @@ -139,34 +119,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -177,7 +130,16 @@ - + + + + + + + + + + @@ -197,7 +159,29 @@ - + + + + + + + + + + + + + + + + + + + + + + + @@ -206,12 +190,28 @@ - + - - - + + + + + + + + + + + + + + + + + + + @@ -223,17 +223,6 @@ - - - - - - - - - - - @@ -243,35 +232,18 @@ - + - - - - - - - - - - - - - - - - - - - - + + + @@ -281,6 +253,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -290,11 +291,10 @@ - - + - + diff --git a/.idea/modules/semver_test.iml b/.idea/modules/semver_test.iml index 606f837..0a04615 100644 --- a/.idea/modules/semver_test.iml +++ b/.idea/modules/semver_test.iml @@ -1,5 +1,5 @@ - + @@ -36,17 +36,6 @@ - - - - - - - - - - - @@ -56,25 +45,6 @@ - - - - - - - - - - - - - - - - - - - @@ -84,66 +54,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -224,6 +134,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -256,7 +256,6 @@ - @@ -293,6 +292,7 @@ + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 575288f..e7e5a8c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { id("org.jlleitschuh.gradle.ktlint") version "4.1.0" } -version = "0.9.5-beta" +version = "0.9.6-beta" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 1e2a6ec..754b50a 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.5-beta" + id "net.thauvin.erik.gradle.semver" version "0.9.6-beta" } // ./gradlew diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index a6740f8..c70b0e0 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -4,7 +4,7 @@ plugins { kotlin("jvm") version "1.2.50" application id("org.jetbrains.kotlin.kapt") version "1.2.50" - id("net.thauvin.erik.gradle.semver") version "0.9.5-beta" + id("net.thauvin.erik.gradle.semver") version "0.9.6-beta" } // ./gradlew diff --git a/examples/java/build.gradle b/examples/java/build.gradle index d9b30b4..41ac24d 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.5-beta" + id "net.thauvin.erik.gradle.semver" version "0.9.6-beta" } // ./gradlew @@ -44,4 +44,4 @@ run { // args = ['example.properties'] args = ['version.properties'] -} \ No newline at end of file +} diff --git a/examples/java/version.properties b/examples/java/version.properties index 8a50be1..00eafb7 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sat Jul 07 18:29:10 PDT 2018 +#Mon Jul 09 17:13:03 PDT 2018 version.prerelease= version.buildmeta= -version.patch=1 +version.patch=5 version.major=1 version.minor=1 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 253c20d..2b17e7e 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -3,7 +3,7 @@ import net.thauvin.erik.gradle.semver.SemverConfig plugins { kotlin("jvm") version "1.2.50" application - id("net.thauvin.erik.gradle.semver") version "0.9.5-beta" + id("net.thauvin.erik.gradle.semver") version "0.9.6-beta" } // ./gradlew diff --git a/examples/test/build.gradle b/examples/test/build.gradle index 3990638..8898cd1 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -8,7 +8,7 @@ buildscript { mavenLocal() } dependencies { - classpath "net.thauvin.erik.gradle:semver:0.9.5-beta" + classpath "net.thauvin.erik.gradle:semver:0.9.6-beta" } } From 0c62bba4232e3e55b3208ac4d15aa29b330a0caf Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 10 Jul 2018 23:52:26 -0700 Subject: [PATCH 036/155] Removed sorted properties, not compatbile with Java > 8. --- .../erik/gradle/semver/SemverPlugin.kt | 2 +- .../erik/gradle/semver/SortedProperties.kt | 44 ------------------- 2 files changed, 1 insertion(+), 45 deletions(-) delete mode 100644 src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index d0fecbc..146675a 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -45,7 +45,7 @@ class SemverPlugin : Plugin { companion object { fun saveProperties(config: SemverConfig, version: Version) { - SortedProperties().apply { + Properties().apply { put(config.majorKey, version.major) put(config.minorKey, version.minor) put(config.patchKey, version.patch) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt deleted file mode 100644 index c84a4b1..0000000 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt +++ /dev/null @@ -1,44 +0,0 @@ -/* - * SortedProperties.kt - * - * Copyright (c) 2018, Erik C. Thauvin (erik@thauvin.net) - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * Neither the name of this project nor the names of its contributors may be - * used to endorse or promote products derived from this software without - * specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.thauvin.erik.gradle.semver - -import java.util.Collections -import java.util.Enumeration -import java.util.Properties - -internal class SortedProperties : Properties() { - override fun keys(): Enumeration { - val keys = Collections.list(super.keys()) - keys.sortWith(Comparator { a, b -> a.toString().compareTo(b.toString()) }) - return Collections.enumeration(keys) - } -} \ No newline at end of file From 5b8a298a2b9964f6e902bc26b0f5fc2fc2b09bda Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 11 Jul 2018 03:37:13 -0700 Subject: [PATCH 037/155] Added check for Gradle version. --- .../net/thauvin/erik/gradle/semver/SemverPlugin.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 146675a..2af53b3 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -34,12 +34,14 @@ package net.thauvin.erik.gradle.semver import org.gradle.api.GradleException import org.gradle.api.Plugin import org.gradle.api.Project +import org.gradle.util.GradleVersion import java.io.File import java.io.FileInputStream import java.io.FileOutputStream import java.util.Properties class SemverPlugin : Plugin { + private val simpleName = SemverPlugin::class.simpleName private var version = Version() private lateinit var config: SemverConfig @@ -65,6 +67,9 @@ class SemverPlugin : Plugin { } override fun apply(project: Project?) { + if (GradleVersion.current() < GradleVersion.version("4.8.1")) { + throw GradleException("The $simpleName plugin requires Gradle version 4.8.1 or greater.") + } project!!.afterEvaluate(this::afterEvaluate) config = project.extensions.create("semver", SemverConfig::class.java) @@ -83,9 +88,9 @@ class SemverPlugin : Plugin { } propsFile.apply { project.logger.info( - "[${SemverPlugin::class.simpleName}] Attempting to read properties from: `$absoluteFile`. [exists: ${exists()}, canRead: ${canRead()}]") if (canRead()) { FileInputStream(this).use { fis -> + "[$simpleName] Attempting to read properties from: `$absoluteFile`. [exists: ${exists()}, isFile: $isFile, canRead: ${canRead()}]") Properties().apply { load(fis) version.major = getProperty(config.majorKey, Version.DEFAULT_MAJOR) @@ -104,7 +109,7 @@ class SemverPlugin : Plugin { throw GradleException("Unable to read version from: `$absoluteFile`") } project.version = version.semver - project.logger.info("[${SemverPlugin::class.simpleName}] Project version set to: ${project.version}") + project.logger.info("[$simpleName] Project version set to: ${project.version}") saveProperties(config, version) } } From e378d479468532d6a5dd5bd37d6b1786be2e317c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 11 Jul 2018 03:41:37 -0700 Subject: [PATCH 038/155] Now using reader and writer to access the properties file. --- .../net/thauvin/erik/gradle/semver/SemverPlugin.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 2af53b3..3ac341c 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -59,8 +59,8 @@ class SemverPlugin : Plugin { put(config.preReleasePrefixKey, version.preReleasePrefix) if (version.separator != Version.DEFAULT_SEPARATOR) put(config.separatorKey, version.separator) - FileOutputStream(config.properties).use { output -> - store(output, "Generated by the Semver Plugin for Gradle") + FileOutputStream(config.properties).writer().use { writer -> + store(writer, "Generated by the Semver Plugin for Gradle") } } } @@ -88,11 +88,11 @@ class SemverPlugin : Plugin { } propsFile.apply { project.logger.info( - if (canRead()) { - FileInputStream(this).use { fis -> "[$simpleName] Attempting to read properties from: `$absoluteFile`. [exists: ${exists()}, isFile: $isFile, canRead: ${canRead()}]") + if (canRead() && isFile) { + FileInputStream(this).reader().use { reader -> Properties().apply { - load(fis) + load(reader) version.major = getProperty(config.majorKey, Version.DEFAULT_MAJOR) version.minor = getProperty(config.minorKey, Version.DEFAULT_MINOR) version.patch = getProperty(config.patchKey, Version.DEFAULT_PATCH) From 8007ba395c292e1ca6f3062bc8322a9b947789d4 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 11 Jul 2018 03:42:27 -0700 Subject: [PATCH 039/155] Added detekt plugin. --- build.gradle.kts | 8 ++++++++ .../kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt | 2 +- .../net/thauvin/erik/gradle/semver/SemverIncrementTask.kt | 2 +- .../kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index e7e5a8c..264e76e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,6 +7,7 @@ plugins { id("com.gradle.plugin-publish") version "0.9.10" id("com.github.ben-manes.versions") version "0.20.0" id("org.jlleitschuh.gradle.ktlint") version "4.1.0" + id("io.gitlab.arturbosch.detekt") version "1.0.0.RC7" } version = "0.9.6-beta" @@ -60,6 +61,13 @@ tasks { } } +detekt { + profile("main", Action { + input = "src/main/kotlin" + filters = ".*/resources/.*" + }) +} + gradlePlugin { (plugins) { project.name { diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index 0ebc6b2..d27d57a 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -63,4 +63,4 @@ open class SemverConfig { var separatorKey = DEFAULT_SEPARATOR get() = "$keysPrefix$field" var keysPrefix = DEFAULT_KEYS_PREFIX -} \ No newline at end of file +} diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt index e329f64..c7e6d43 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt @@ -58,4 +58,4 @@ open class SemverIncrementTask @Inject constructor( logger.lifecycle("Version: ${project.version}") SemverPlugin.saveProperties(config, version) } -} \ No newline at end of file +} diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 3ac341c..f54e32f 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -113,4 +113,4 @@ class SemverPlugin : Plugin { saveProperties(config, version) } } -} \ No newline at end of file +} From 240c032dc93ffef64544205eea4f4f8ef2c17102 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 11 Jul 2018 03:43:20 -0700 Subject: [PATCH 040/155] IDEA settings update. --- .../inspectionProfiles/profiles_settings.xml | 7 + .idea/modules/ap-examples-java.iml | 2 +- .idea/modules/ap-examples-java_main.iml | 2 +- .idea/modules/ap-examples-java_test.iml | 2 +- .idea/modules/ap-examples-kotlin.iml | 2 +- .idea/modules/ap-examples-kotlin_main.iml | 2 +- .idea/modules/ap-examples-kotlin_test.iml | 2 +- .idea/modules/examples-kotlin.iml | 2 +- .idea/modules/examples-kotlin_main.iml | 2 +- .idea/modules/examples-kotlin_test.iml | 2 +- .idea/modules/semver_main.iml | 212 +++++++++--------- .idea/modules/semver_test.iml | 154 ++++++------- 12 files changed, 199 insertions(+), 192 deletions(-) create mode 100644 .idea/inspectionProfiles/profiles_settings.xml diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..dd4c951 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-java.iml b/.idea/modules/ap-examples-java.iml index 5e8762e..c41588b 100644 --- a/.idea/modules/ap-examples-java.iml +++ b/.idea/modules/ap-examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-java_main.iml b/.idea/modules/ap-examples-java_main.iml index 1d43f7f..14eabfe 100644 --- a/.idea/modules/ap-examples-java_main.iml +++ b/.idea/modules/ap-examples-java_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-java_test.iml b/.idea/modules/ap-examples-java_test.iml index 0a8d509..f2e40c7 100644 --- a/.idea/modules/ap-examples-java_test.iml +++ b/.idea/modules/ap-examples-java_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin.iml b/.idea/modules/ap-examples-kotlin.iml index 968b835..d0bbff3 100644 --- a/.idea/modules/ap-examples-kotlin.iml +++ b/.idea/modules/ap-examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin_main.iml b/.idea/modules/ap-examples-kotlin_main.iml index ae3269b..d3bab85 100644 --- a/.idea/modules/ap-examples-kotlin_main.iml +++ b/.idea/modules/ap-examples-kotlin_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin_test.iml b/.idea/modules/ap-examples-kotlin_test.iml index c5affde..a1af87c 100644 --- a/.idea/modules/ap-examples-kotlin_test.iml +++ b/.idea/modules/ap-examples-kotlin_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin.iml b/.idea/modules/examples-kotlin.iml index 566b3a0..2f01fe8 100644 --- a/.idea/modules/examples-kotlin.iml +++ b/.idea/modules/examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin_main.iml b/.idea/modules/examples-kotlin_main.iml index aa4e67b..a18926c 100644 --- a/.idea/modules/examples-kotlin_main.iml +++ b/.idea/modules/examples-kotlin_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin_test.iml b/.idea/modules/examples-kotlin_test.iml index 30f4729..b8e7496 100644 --- a/.idea/modules/examples-kotlin_test.iml +++ b/.idea/modules/examples-kotlin_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/semver_main.iml b/.idea/modules/semver_main.iml index 79f089c..fd192fe 100644 --- a/.idea/modules/semver_main.iml +++ b/.idea/modules/semver_main.iml @@ -36,6 +36,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -116,46 +185,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -167,17 +196,6 @@ - - - - - - - - - - - @@ -190,25 +208,7 @@ - - - - - - - - - - - - - - - - - - - + @@ -223,16 +223,7 @@ - - - - - - - - - - + @@ -242,36 +233,17 @@ - - - - - - - - - - - - - - - - - - - - - - + + + @@ -281,11 +253,20 @@ - - + - + + + + + + + + + + + @@ -300,10 +281,29 @@ + + + + + + + + + + - + + + + + + + + + + diff --git a/.idea/modules/semver_test.iml b/.idea/modules/semver_test.iml index 0a04615..118de71 100644 --- a/.idea/modules/semver_test.iml +++ b/.idea/modules/semver_test.iml @@ -39,7 +39,7 @@ - + @@ -48,12 +48,74 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -137,23 +199,12 @@ - + - - - - - - - - - - - @@ -163,67 +214,16 @@ + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -234,6 +234,7 @@ + @@ -243,19 +244,19 @@ - - + + @@ -292,7 +293,6 @@ - \ No newline at end of file From 281c6388caa48e5d44a14605ea7e3547b8ec33c8 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 11 Jul 2018 22:54:30 -0700 Subject: [PATCH 041/155] Reimplemented SortedProperty with fix for Java > 8. --- .../erik/gradle/semver/SemverPlugin.kt | 2 +- .../erik/gradle/semver/SortedProperties.kt | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index f54e32f..74cf27f 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -47,7 +47,7 @@ class SemverPlugin : Plugin { companion object { fun saveProperties(config: SemverConfig, version: Version) { - Properties().apply { + SortedProperties().apply { put(config.majorKey, version.major) put(config.minorKey, version.minor) put(config.patchKey, version.patch) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt new file mode 100644 index 0000000..0ceb358 --- /dev/null +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt @@ -0,0 +1,47 @@ +/* + * SortedProperties.kt + * + * Copyright (c) 2018, Erik C. Thauvin (erik@thauvin.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of this project nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.thauvin.erik.gradle.semver + +import java.util.Collections +import java.util.Enumeration +import java.util.Properties + +internal class SortedProperties : Properties() { + override val entries: MutableSet> + get() = super.entries.sortedWith(Comparator { a, b -> a.toString().compareTo(b.toString()) }).toMutableSet() + + override fun keys(): Enumeration { + val keys = Collections.list(super.keys()) + keys.sortWith(Comparator { a, b -> a.toString().compareTo(b.toString()) }) + return Collections.enumeration(keys) + } +} From 6415eb5d16b73526b1b7503ea8f375056ac3bdb6 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 11 Jul 2018 22:54:55 -0700 Subject: [PATCH 042/155] Added editorConfig. --- .editorconfig | 2 ++ examples/annotation-processor/java/.editorconfig | 2 ++ examples/annotation-processor/kotlin/.editorconfig | 2 ++ examples/java/.editorconfig | 2 ++ examples/kotlin/.editorconfig | 2 ++ examples/test/.editorconfig | 2 ++ 6 files changed, 12 insertions(+) create mode 100644 .editorconfig create mode 100644 examples/annotation-processor/java/.editorconfig create mode 100644 examples/annotation-processor/kotlin/.editorconfig create mode 100644 examples/java/.editorconfig create mode 100644 examples/kotlin/.editorconfig create mode 100644 examples/test/.editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..a6971e1 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,2 @@ +[*] +insert_final_newline=true diff --git a/examples/annotation-processor/java/.editorconfig b/examples/annotation-processor/java/.editorconfig new file mode 100644 index 0000000..a6971e1 --- /dev/null +++ b/examples/annotation-processor/java/.editorconfig @@ -0,0 +1,2 @@ +[*] +insert_final_newline=true diff --git a/examples/annotation-processor/kotlin/.editorconfig b/examples/annotation-processor/kotlin/.editorconfig new file mode 100644 index 0000000..a6971e1 --- /dev/null +++ b/examples/annotation-processor/kotlin/.editorconfig @@ -0,0 +1,2 @@ +[*] +insert_final_newline=true diff --git a/examples/java/.editorconfig b/examples/java/.editorconfig new file mode 100644 index 0000000..a6971e1 --- /dev/null +++ b/examples/java/.editorconfig @@ -0,0 +1,2 @@ +[*] +insert_final_newline=true diff --git a/examples/kotlin/.editorconfig b/examples/kotlin/.editorconfig new file mode 100644 index 0000000..a6971e1 --- /dev/null +++ b/examples/kotlin/.editorconfig @@ -0,0 +1,2 @@ +[*] +insert_final_newline=true diff --git a/examples/test/.editorconfig b/examples/test/.editorconfig new file mode 100644 index 0000000..a6971e1 --- /dev/null +++ b/examples/test/.editorconfig @@ -0,0 +1,2 @@ +[*] +insert_final_newline=true From c85749f7545d3af6932196cc4ccfa11b85c48d51 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 11 Jul 2018 22:55:18 -0700 Subject: [PATCH 043/155] Added detekt baseline. --- build.gradle.kts | 7 +++++-- detekt-baseline.xml | 8 ++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 detekt-baseline.xml diff --git a/build.gradle.kts b/build.gradle.kts index 264e76e..850c0da 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -64,7 +64,10 @@ tasks { detekt { profile("main", Action { input = "src/main/kotlin" - filters = ".*/resources/.*" + filters = ".*/resources/.*,.*/build/.*" + output = "$buildDir/reports/detekt-reports" + outputName = "detekt-report" + baseline = "detekt-baseline.xml" }) } @@ -94,4 +97,4 @@ pluginBundle { groupId = project.group.toString() artifactId = project.name } -} \ No newline at end of file +} diff --git a/detekt-baseline.xml b/detekt-baseline.xml new file mode 100644 index 0000000..e9d3cfb --- /dev/null +++ b/detekt-baseline.xml @@ -0,0 +1,8 @@ + + + + + MaxLineLength:SemverPlugin.kt$net.thauvin.erik.gradle.semver.SemverPlugin.kt + NestedBlockDepth:SemverPlugin.kt$SemverPlugin$private fun afterEvaluate(project: Project) + + \ No newline at end of file From 1d4475c3deb22c95ac8cd24ef1bb44d13496515e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 11 Jul 2018 22:56:00 -0700 Subject: [PATCH 044/155] chmod +x --- examples/annotation-processor/java/gradlew | 0 examples/annotation-processor/kotlin/gradlew | 0 examples/examples.sh | 0 examples/java/gradlew | 0 examples/kotlin/gradlew | 0 5 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 examples/annotation-processor/java/gradlew mode change 100644 => 100755 examples/annotation-processor/kotlin/gradlew mode change 100644 => 100755 examples/examples.sh mode change 100644 => 100755 examples/java/gradlew mode change 100644 => 100755 examples/kotlin/gradlew diff --git a/examples/annotation-processor/java/gradlew b/examples/annotation-processor/java/gradlew old mode 100644 new mode 100755 diff --git a/examples/annotation-processor/kotlin/gradlew b/examples/annotation-processor/kotlin/gradlew old mode 100644 new mode 100755 diff --git a/examples/examples.sh b/examples/examples.sh old mode 100644 new mode 100755 diff --git a/examples/java/gradlew b/examples/java/gradlew old mode 100644 new mode 100755 diff --git a/examples/kotlin/gradlew b/examples/kotlin/gradlew old mode 100644 new mode 100755 From edae9cc660c535b78677d893b11fd360ec9868f7 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 11 Jul 2018 23:03:02 -0700 Subject: [PATCH 045/155] Fixed eof newline per klintTestCheck. --- .../kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt | 2 +- .../kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index 8716e92..93ff83d 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -93,4 +93,4 @@ object SemverConfigSpec : Spek({ } } } -}) \ No newline at end of file +}) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index 5555b3f..9d5162b 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -119,4 +119,4 @@ object SemverVersionSpec : Spek({ } } } -}) \ No newline at end of file +}) From a4e47cef0b12ac324891e0dacc0d7750bd2ecff3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 13 Jul 2018 15:19:05 -0700 Subject: [PATCH 046/155] Added increment build metadata task. --- README.md | 50 ++++++++++++++- .../semver/SemverIncrementBuildMetaTask.kt | 64 +++++++++++++++++++ .../erik/gradle/semver/SemverPlugin.kt | 6 ++ 3 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt diff --git a/README.md b/README.md index 2062e3d..ad5d007 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,8 @@ If you need to change the properties file or name of the properties keys to matc ## Increment Version Tasks +### incrementMajor, incrementMinor and incrementPatch + The `incrementMajor`, `incrementMinor` and `incrementPatch` tasks are available to automatically increment their respective and reset lower counterpart version numbers. - `incrementMajor` will increment the `major` and set the `minor` and `patch` versions to `0`. @@ -53,6 +55,52 @@ someTask { - __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) +### incrementBuildMeta + +The `incrementBuildMeta` task is available to set the build metadata version to a custom calculated value. + +#### Examples: + +To set the build metadata to a custom formatted date: + +```gradle +incrementBuildMeta { + doFirst { + buildMeta = new Date().format("yyyyMMddHHmmss") + } +} +``` + +```bash +./gradlew incrementBuildMeta + +... + +> Task :incrementBuildMeta +Version: 1.0.16-beta+20180713143416 +``` + +Or to set the build metadata to a custom formatted number with increment: + + +```gradle +incrementBuildMeta { + doFirst { + buildMeta = sprintf("%03d", (buildMeta as Integer) + 1) + } +} +``` + +```bash +./gradlew incrementBuildMeta + +... + +> Task :incrementBuildMeta +Version: 1.0.16-beta+002 +``` + + ## Configuration ### Version File Properties @@ -165,4 +213,4 @@ test.buildmeta= If you'd like to incorporate the version number data into your source code, please have a look at the [__Semantic Version Annotation Processor__](https://github.com/ethauvin/semver). -There are also full [examples](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor) in both [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor/java) and [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor) showing how to use both the plugin and annotation processor concurrently. \ No newline at end of file +There are also full [examples](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor) in both [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor/java) and [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor) showing how to use both the plugin and annotation processor concurrently. diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt new file mode 100644 index 0000000..187dccb --- /dev/null +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt @@ -0,0 +1,64 @@ +/* + * SemverIncrementBuildmetaTask.kt + * + * Copyright (c) 2018, Erik C. Thauvin (erik@thauvin.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of this project nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.thauvin.erik.gradle.semver + +import org.gradle.api.DefaultTask +import org.gradle.api.tasks.CacheableTask +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.TaskAction +import javax.inject.Inject + +@CacheableTask +open class SemverIncrementBuildMetaTask @Inject constructor( + private val config: SemverConfig, + private val version: Version +) : DefaultTask() { + init { + group = "version" + description = "Increments Build Metadata version number." + } + + @Suppress("MemberVisibilityCanBePrivate") + @Input + var buildMeta: String = "" + + @Suppress("unused") + @TaskAction + fun increment() { + if (version.buildMeta != buildMeta) { + version.buildMeta = buildMeta + project.version = version.semver + logger.lifecycle("Version: ${project.version}") + SemverPlugin.saveProperties(config, version) + } + } +} diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 74cf27f..6f06651 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -77,6 +77,7 @@ class SemverPlugin : Plugin { create("incrementMajor", SemverIncrementTask::class.java, config, version, SemverConfig.DEFAULT_MAJOR_KEY) create("incrementMinor", SemverIncrementTask::class.java, config, version, SemverConfig.DEFAULT_MINOR_KEY) create("incrementPatch", SemverIncrementTask::class.java, config, version, SemverConfig.DEFAULT_PATCH_KEY) + create("incrementBuildMeta", SemverIncrementBuildMetaTask::class.java, config, version) } } @@ -93,6 +94,7 @@ class SemverPlugin : Plugin { FileInputStream(this).reader().use { reader -> Properties().apply { load(reader) + version.major = getProperty(config.majorKey, Version.DEFAULT_MAJOR) version.minor = getProperty(config.minorKey, Version.DEFAULT_MINOR) version.patch = getProperty(config.patchKey, Version.DEFAULT_PATCH) @@ -103,6 +105,10 @@ class SemverPlugin : Plugin { version.buildMetaPrefix = getProperty(config.buildMetaPrefixKey, Version.DEFAULT_BUILDMETA_PREFIX) version.separator = getProperty(config.separatorKey, Version.DEFAULT_SEPARATOR) + + project.tasks.withType(SemverIncrementBuildMetaTask::class.java) { + buildMeta = version.buildMeta + } } } } else if (exists()) { From 56593230ac18bf8b4836695eba52c5a57d2bdc26 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 13 Jul 2018 16:03:30 -0700 Subject: [PATCH 047/155] Version 0.9.7-beta --- .idea/modules/ap-examples-java.iml | 2 +- .idea/modules/ap-examples-java_main.iml | 2 +- .idea/modules/ap-examples-java_test.iml | 2 +- .idea/modules/ap-examples-kotlin.iml | 2 +- .idea/modules/ap-examples-kotlin_main.iml | 2 +- .idea/modules/ap-examples-kotlin_test.iml | 2 +- .idea/modules/examples-java.iml | 2 +- .idea/modules/examples-java_main.iml | 2 +- .idea/modules/examples-java_test.iml | 4 +- .idea/modules/examples-kotlin.iml | 2 +- .idea/modules/examples-kotlin_main.iml | 2 +- .idea/modules/examples-kotlin_test.iml | 2 +- .idea/modules/semver.iml | 2 +- .idea/modules/semver_main.iml | 138 ++++++++-------- .idea/modules/semver_test.iml | 156 +++++++++--------- build.gradle.kts | 2 +- .../annotation-processor/java/build.gradle | 4 +- .../com/example/GeneratedVersion.java | 4 +- .../java/version.properties | 6 +- .../kotlin/build.gradle.kts | 2 +- .../kotlin/version.properties | 4 +- examples/java/build.gradle | 10 +- examples/java/example.properties | 2 +- examples/java/version.properties | 8 +- examples/kotlin/build.gradle.kts | 13 +- examples/kotlin/example.properties | 2 +- examples/kotlin/version.properties | 8 +- examples/test/build.gradle | 11 +- 28 files changed, 212 insertions(+), 186 deletions(-) rename examples/annotation-processor/java/src/generated/{ => java}/com/example/GeneratedVersion.java (96%) diff --git a/.idea/modules/ap-examples-java.iml b/.idea/modules/ap-examples-java.iml index c41588b..3561fcb 100644 --- a/.idea/modules/ap-examples-java.iml +++ b/.idea/modules/ap-examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-java_main.iml b/.idea/modules/ap-examples-java_main.iml index 14eabfe..4ba373d 100644 --- a/.idea/modules/ap-examples-java_main.iml +++ b/.idea/modules/ap-examples-java_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-java_test.iml b/.idea/modules/ap-examples-java_test.iml index f2e40c7..da3e2a2 100644 --- a/.idea/modules/ap-examples-java_test.iml +++ b/.idea/modules/ap-examples-java_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin.iml b/.idea/modules/ap-examples-kotlin.iml index d0bbff3..891698d 100644 --- a/.idea/modules/ap-examples-kotlin.iml +++ b/.idea/modules/ap-examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin_main.iml b/.idea/modules/ap-examples-kotlin_main.iml index d3bab85..8f0d29f 100644 --- a/.idea/modules/ap-examples-kotlin_main.iml +++ b/.idea/modules/ap-examples-kotlin_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin_test.iml b/.idea/modules/ap-examples-kotlin_test.iml index a1af87c..dd47cb2 100644 --- a/.idea/modules/ap-examples-kotlin_test.iml +++ b/.idea/modules/ap-examples-kotlin_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java.iml b/.idea/modules/examples-java.iml index ca09e15..0c5fd0c 100644 --- a/.idea/modules/examples-java.iml +++ b/.idea/modules/examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java_main.iml b/.idea/modules/examples-java_main.iml index 2f21da8..1e29561 100644 --- a/.idea/modules/examples-java_main.iml +++ b/.idea/modules/examples-java_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java_test.iml b/.idea/modules/examples-java_test.iml index 69be80a..4071a5c 100644 --- a/.idea/modules/examples-java_test.iml +++ b/.idea/modules/examples-java_test.iml @@ -1,5 +1,5 @@ - + @@ -11,8 +11,8 @@ - + diff --git a/.idea/modules/examples-kotlin.iml b/.idea/modules/examples-kotlin.iml index 2f01fe8..045b466 100644 --- a/.idea/modules/examples-kotlin.iml +++ b/.idea/modules/examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin_main.iml b/.idea/modules/examples-kotlin_main.iml index a18926c..1981825 100644 --- a/.idea/modules/examples-kotlin_main.iml +++ b/.idea/modules/examples-kotlin_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin_test.iml b/.idea/modules/examples-kotlin_test.iml index b8e7496..48f8fae 100644 --- a/.idea/modules/examples-kotlin_test.iml +++ b/.idea/modules/examples-kotlin_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/semver.iml b/.idea/modules/semver.iml index 47bac36..fac4bc2 100644 --- a/.idea/modules/semver.iml +++ b/.idea/modules/semver.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/semver_main.iml b/.idea/modules/semver_main.iml index fd192fe..10fd523 100644 --- a/.idea/modules/semver_main.iml +++ b/.idea/modules/semver_main.iml @@ -1,5 +1,5 @@ - + @@ -39,16 +39,7 @@ - - - - - - - - - - + @@ -63,6 +54,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -77,10 +106,12 @@ - + - + + + @@ -97,12 +128,10 @@ - + - - - + @@ -185,35 +214,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -223,7 +223,6 @@ - @@ -236,14 +235,12 @@ - + - - @@ -253,6 +250,17 @@ + + + + + + + + + + + @@ -272,15 +280,8 @@ - - - - - - - - - + + @@ -290,7 +291,15 @@ - + + + + + + + + + @@ -300,14 +309,5 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/semver_test.iml b/.idea/modules/semver_test.iml index 118de71..8504f70 100644 --- a/.idea/modules/semver_test.iml +++ b/.idea/modules/semver_test.iml @@ -1,5 +1,5 @@ - + @@ -36,64 +36,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -116,6 +59,24 @@ + + + + + + + + + + + + + + + + + + @@ -196,24 +157,6 @@ - - - - - - - - - - - - - - - - - - @@ -223,7 +166,64 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build.gradle.kts b/build.gradle.kts index 850c0da..9681233 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,7 +10,7 @@ plugins { id("io.gitlab.arturbosch.detekt") version "1.0.0.RC7" } -version = "0.9.6-beta" +version = "0.9.7-beta" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 754b50a..5658c07 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.6-beta" + id "net.thauvin.erik.gradle.semver" version "0.9.7-beta" } // ./gradlew @@ -13,7 +13,7 @@ mainClassName = 'com.example.Example' defaultTasks 'run' -compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated") +compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated/java") def semverProcessor = "net.thauvin.erik:semver:1.1.0-beta" diff --git a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java similarity index 96% rename from examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java rename to examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java index c3895b6..24315b7 100644 --- a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java @@ -16,10 +16,10 @@ public final class GeneratedVersion { public final static String BUILDMETA_PREFIX = "+"; public final static String PROJECT = ""; - public final static Date BUILDDATE = new Date(1531013360196L); + public final static Date BUILDDATE = new Date(1531208748879L); public final static int MAJOR = 2; public final static int MINOR = 1; - public final static int PATCH = 1; + public final static int PATCH = 2; public final static String PRERELEASE = ""; public final static String BUILDMETA = ""; diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index 397e0f5..24cfc56 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sat Jul 07 18:29:19 PDT 2018 -version.prerelease= +#Fri Jul 13 15:21:02 PDT 2018 version.buildmeta= -version.patch=1 version.major=2 version.minor=1 +version.patch=2 +version.prerelease= diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index c70b0e0..35d413f 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -4,7 +4,7 @@ plugins { kotlin("jvm") version "1.2.50" application id("org.jetbrains.kotlin.kapt") version "1.2.50" - id("net.thauvin.erik.gradle.semver") version "0.9.6-beta" + id("net.thauvin.erik.gradle.semver") version "0.9.7-beta" } // ./gradlew diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index 260c02c..9b2b6f8 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sat Jul 07 18:29:24 PDT 2018 +#Tue Jul 10 00:48:28 PDT 2018 version.prerelease= version.buildmeta= -version.patch=1 +version.patch=4 version.major=11 version.minor=2 diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 41ac24d..154185d 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,13 +1,14 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.6-beta" + id "net.thauvin.erik.gradle.semver" version "0.9.7-beta" } // ./gradlew // ./gradlew incrementPatch run // ./gradlew incrementMinor run // ./gradlew incrementMajor run +// ./gradlew incrementBuildMeta run mainClassName = 'App' @@ -37,6 +38,13 @@ semver { // buildMetaKey = "meta" } +incrementBuildMeta { + doFirst { +// buildMeta = sprintf("%03d", (buildMeta as Integer) + 1) + buildMeta = new Date().format("yyyyMMddHHmmss") + } +} + run { doFirst { println "Version: $version" diff --git a/examples/java/example.properties b/examples/java/example.properties index d946882..5438279 100644 --- a/examples/java/example.properties +++ b/examples/java/example.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle #Sun Jul 01 12:21:40 PDT 2018 example.major=1 -example.release=beta +example.release=alpha example.meta= example.minor=1 example.patch=1 diff --git a/examples/java/version.properties b/examples/java/version.properties index 00eafb7..c9ca392 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Mon Jul 09 17:13:03 PDT 2018 -version.prerelease= -version.buildmeta= -version.patch=5 +#Fri Jul 13 15:27:29 PDT 2018 +version.buildmeta=20180713152249 version.major=1 version.minor=1 +version.patch=8 +version.prerelease=alpha diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 2b17e7e..e9e68f5 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -1,9 +1,13 @@ import net.thauvin.erik.gradle.semver.SemverConfig +import net.thauvin.erik.gradle.semver.SemverIncrementBuildMetaTask +import java.lang.String.format +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter plugins { kotlin("jvm") version "1.2.50" application - id("net.thauvin.erik.gradle.semver") version "0.9.6-beta" + id("net.thauvin.erik.gradle.semver") version "0.9.7-beta" } // ./gradlew @@ -38,6 +42,13 @@ tasks { useTestNG() } + val incrementBuildMeta by getting(SemverIncrementBuildMetaTask::class) { + doFirst { +// buildMeta = format("%03d", buildMeta.toInt() + 1) + buildMeta = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) + } + } + val run by getting(JavaExec::class) { doFirst { println("Version: $version") diff --git a/examples/kotlin/example.properties b/examples/kotlin/example.properties index 4832c99..252c996 100644 --- a/examples/kotlin/example.properties +++ b/examples/kotlin/example.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle #Sun Jul 01 20:17:52 PDT 2018 example.major=1 -example.release= +example.release=beta example.meta= example.minor=0 example.patch=0 diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index cd6ff2b..ebee42b 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sat Jul 07 18:29:14 PDT 2018 -version.prerelease= -version.buildmeta= -version.patch=1 +#Fri Jul 13 15:52:43 PDT 2018 +version.buildmeta=20180713155232 version.major=1 version.minor=2 +version.patch=4 +version.prerelease=beta diff --git a/examples/test/build.gradle b/examples/test/build.gradle index 8898cd1..bb3705f 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -8,7 +8,7 @@ buildscript { mavenLocal() } dependencies { - classpath "net.thauvin.erik.gradle:semver:0.9.6-beta" + classpath "net.thauvin.erik.gradle:semver:0.9.7-beta" } } @@ -40,6 +40,13 @@ incrementPatch { } } +incrementBuildMeta { + doFirst { + //buildMeta = sprintf("%03d", (buildMeta as Integer) + 1) + buildMeta = new Date().format("yyyyMMddHHmmss") + } +} + run { //dependsOn("incrementPatch") doFirst { @@ -52,4 +59,4 @@ semver { properties = "$projectDir/${f.name}" keysPrefix = f.name.substring(0, f.name.indexOf(".") + 1) buildMetaKey = "meta" -} \ No newline at end of file +} From 67ee3cad55d33856873deccbbe31336e6d923fdf Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 13 Jul 2018 16:24:10 -0700 Subject: [PATCH 048/155] Added examples links for increment build meta task. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ad5d007..2c35978 100644 --- a/README.md +++ b/README.md @@ -100,6 +100,7 @@ incrementBuildMeta { Version: 1.0.16-beta+002 ``` +- __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) ## Configuration From 421198a59056c6d3a492ccfc8256389ed2ee385a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 13 Jul 2018 16:28:41 -0700 Subject: [PATCH 049/155] Fixed description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2c35978..9af2b7e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # Semantic Version Plugin for Gradle -A [Semantic Version](https://semver.org) Plugin for [Gradle](https://gradle.org) that manages a project version via a properties file, and provide tasks to __automatically increment__ major, minor and patch build numbers. +A [Semantic Version](https://semver.org) Plugin for [Gradle](https://gradle.org) that manages a project version via a properties file, and provide tasks to __automatically increment__ major, minor, patch and build version numbers. The plugin can be used in conjunction with the [__Semantic Version Annotation Processor__](https://github.com/ethauvin/semver). From d5dd895e47f09d3366f41bfa910f85df365bfb55 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 13 Jul 2018 16:29:03 -0700 Subject: [PATCH 050/155] Added increment build meta command line example. --- examples/kotlin/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index e9e68f5..0991017 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -14,6 +14,7 @@ plugins { // ./gradlew incrementPatch run // ./gradlew incrementMinor run // ./gradlew incrementMajor run +// ./gradlew incrementBuildMeta run defaultTasks(ApplicationPlugin.TASK_RUN_NAME) From 1bf7b7c86e471b1f5b8ad69935805f36a0a67a77 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 13 Jul 2018 23:48:02 -0700 Subject: [PATCH 051/155] Fix properties loading on store. --- .../erik/gradle/semver/SemverPlugin.kt | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 6f06651..a0341e5 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -47,20 +47,36 @@ class SemverPlugin : Plugin { companion object { fun saveProperties(config: SemverConfig, version: Version) { + val propsFile = File(config.properties) SortedProperties().apply { + propsFile.apply { + if (canRead() && isFile) { + FileInputStream(this).reader().use { load(it) } + } + } + put(config.majorKey, version.major) put(config.minorKey, version.minor) put(config.patchKey, version.patch) put(config.preReleaseKey, version.preRelease) put(config.buildMetaKey, version.buildMeta) - if (version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX) + if (version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX + || containsKey(config.buildMetaPrefixKey)) put(config.buildMetaPrefixKey, version.buildMetaPrefix) - if (version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX) + if (version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX + || containsKey(config.preReleasePrefixKey)) put(config.preReleasePrefixKey, version.preReleasePrefix) - if (version.separator != Version.DEFAULT_SEPARATOR) + if (version.separator != Version.DEFAULT_SEPARATOR || containsKey(config.separatorKey)) put(config.separatorKey, version.separator) - FileOutputStream(config.properties).writer().use { writer -> - store(writer, "Generated by the Semver Plugin for Gradle") + + propsFile.apply { + if (canWrite()) { + FileOutputStream(this).writer().use { + store(it, "Generated by the Semver Plugin for Gradle") + } + } else { + throw GradleException("Unable to write version to: `$absoluteFile`") + } } } } From d1be1384008b58dd24d7b71d6b6e072b730325be Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 13 Jul 2018 23:55:56 -0700 Subject: [PATCH 052/155] Version 0.9.8-beta --- build.gradle.kts | 2 +- detekt-baseline.xml | 4 +++- examples/annotation-processor/java/build.gradle | 2 +- examples/annotation-processor/kotlin/build.gradle.kts | 2 +- examples/java/build.gradle | 2 +- examples/kotlin/build.gradle.kts | 2 +- examples/test/build.gradle | 2 +- .../kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt | 8 ++++---- 8 files changed, 13 insertions(+), 11 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 9681233..1dd2159 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,7 +10,7 @@ plugins { id("io.gitlab.arturbosch.detekt") version "1.0.0.RC7" } -version = "0.9.7-beta" +version = "0.9.8-beta" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" diff --git a/detekt-baseline.xml b/detekt-baseline.xml index e9d3cfb..54c1b9d 100644 --- a/detekt-baseline.xml +++ b/detekt-baseline.xml @@ -1,8 +1,10 @@ - + + ComplexMethod:SemverPlugin.kt$SemverPlugin.Companion$fun saveProperties(config: SemverConfig, version: Version) MaxLineLength:SemverPlugin.kt$net.thauvin.erik.gradle.semver.SemverPlugin.kt NestedBlockDepth:SemverPlugin.kt$SemverPlugin$private fun afterEvaluate(project: Project) + NestedBlockDepth:SemverPlugin.kt$SemverPlugin.Companion$fun saveProperties(config: SemverConfig, version: Version) \ No newline at end of file diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 5658c07..96e08d3 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.7-beta" + id "net.thauvin.erik.gradle.semver" version "0.9.8-beta" } // ./gradlew diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index 35d413f..e6816c5 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -4,7 +4,7 @@ plugins { kotlin("jvm") version "1.2.50" application id("org.jetbrains.kotlin.kapt") version "1.2.50" - id("net.thauvin.erik.gradle.semver") version "0.9.7-beta" + id("net.thauvin.erik.gradle.semver") version "0.9.8-beta" } // ./gradlew diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 154185d..7da6bd1 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.7-beta" + id "net.thauvin.erik.gradle.semver" version "0.9.8-beta" } // ./gradlew diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 0991017..5684c07 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -7,7 +7,7 @@ import java.time.format.DateTimeFormatter plugins { kotlin("jvm") version "1.2.50" application - id("net.thauvin.erik.gradle.semver") version "0.9.7-beta" + id("net.thauvin.erik.gradle.semver") version "0.9.8-beta" } // ./gradlew diff --git a/examples/test/build.gradle b/examples/test/build.gradle index bb3705f..a1034fc 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -8,7 +8,7 @@ buildscript { mavenLocal() } dependencies { - classpath "net.thauvin.erik.gradle:semver:0.9.7-beta" + classpath "net.thauvin.erik.gradle:semver:0.9.8-beta" } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index a0341e5..987d122 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -60,11 +60,11 @@ class SemverPlugin : Plugin { put(config.patchKey, version.patch) put(config.preReleaseKey, version.preRelease) put(config.buildMetaKey, version.buildMeta) - if (version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX - || containsKey(config.buildMetaPrefixKey)) + if (version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX || + containsKey(config.buildMetaPrefixKey)) put(config.buildMetaPrefixKey, version.buildMetaPrefix) - if (version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX - || containsKey(config.preReleasePrefixKey)) + if (version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX || + containsKey(config.preReleasePrefixKey)) put(config.preReleasePrefixKey, version.preReleasePrefix) if (version.separator != Version.DEFAULT_SEPARATOR || containsKey(config.separatorKey)) put(config.separatorKey, version.separator) From ea643113c4f4ef7b7a64316a846cdacc527e9dc3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 31 Oct 2018 20:37:04 -0700 Subject: [PATCH 053/155] Updated dependencies. --- .idea/modules.xml | 2 - .idea/modules/ap-examples-java.iml | 2 +- .idea/modules/ap-examples-java_main.iml | 14 - .idea/modules/ap-examples-java_test.iml | 12 - .idea/modules/ap-examples-kotlin.iml | 2 +- .idea/modules/ap-examples-kotlin_main.iml | 3 +- .idea/modules/ap-examples-kotlin_test.iml | 3 +- .idea/modules/examples-java.iml | 2 +- .idea/modules/examples-java_main.iml | 2 +- .idea/modules/examples-java_test.iml | 2 +- .idea/modules/examples-kotlin.iml | 2 +- .idea/modules/examples-kotlin_main.iml | 3 +- .idea/modules/examples-kotlin_test.iml | 5 +- .idea/modules/semver.iml | 2 +- .idea/modules/semver_main.iml | 307 +++++++++--------- .idea/modules/semver_test.iml | 242 +++++++------- build.gradle.kts | 35 +- detekt-baseline.xml | 2 +- .../java/version.properties | 2 +- examples/kotlin/version.properties | 2 +- .../erik/gradle/semver/SemverPlugin.kt | 4 +- 21 files changed, 306 insertions(+), 344 deletions(-) delete mode 100644 .idea/modules/ap-examples-java_main.iml delete mode 100644 .idea/modules/ap-examples-java_test.iml diff --git a/.idea/modules.xml b/.idea/modules.xml index 75b2526..4bdf5a1 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,8 +3,6 @@ - - diff --git a/.idea/modules/ap-examples-java.iml b/.idea/modules/ap-examples-java.iml index 3561fcb..4667d8e 100644 --- a/.idea/modules/ap-examples-java.iml +++ b/.idea/modules/ap-examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-java_main.iml b/.idea/modules/ap-examples-java_main.iml deleted file mode 100644 index 4ba373d..0000000 --- a/.idea/modules/ap-examples-java_main.iml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/ap-examples-java_test.iml b/.idea/modules/ap-examples-java_test.iml deleted file mode 100644 index da3e2a2..0000000 --- a/.idea/modules/ap-examples-java_test.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin.iml b/.idea/modules/ap-examples-kotlin.iml index 891698d..33067fd 100644 --- a/.idea/modules/ap-examples-kotlin.iml +++ b/.idea/modules/ap-examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin_main.iml b/.idea/modules/ap-examples-kotlin_main.iml index 8f0d29f..4558e87 100644 --- a/.idea/modules/ap-examples-kotlin_main.iml +++ b/.idea/modules/ap-examples-kotlin_main.iml @@ -1,5 +1,5 @@ - + @@ -19,6 +19,7 @@ + diff --git a/.idea/modules/ap-examples-kotlin_test.iml b/.idea/modules/ap-examples-kotlin_test.iml index dd47cb2..2e17efb 100644 --- a/.idea/modules/ap-examples-kotlin_test.iml +++ b/.idea/modules/ap-examples-kotlin_test.iml @@ -1,5 +1,5 @@ - + @@ -19,6 +19,7 @@ + diff --git a/.idea/modules/examples-java.iml b/.idea/modules/examples-java.iml index 0c5fd0c..6260c53 100644 --- a/.idea/modules/examples-java.iml +++ b/.idea/modules/examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java_main.iml b/.idea/modules/examples-java_main.iml index 1e29561..64bd9c4 100644 --- a/.idea/modules/examples-java_main.iml +++ b/.idea/modules/examples-java_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java_test.iml b/.idea/modules/examples-java_test.iml index 4071a5c..01be4f7 100644 --- a/.idea/modules/examples-java_test.iml +++ b/.idea/modules/examples-java_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin.iml b/.idea/modules/examples-kotlin.iml index 045b466..a1db27c 100644 --- a/.idea/modules/examples-kotlin.iml +++ b/.idea/modules/examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin_main.iml b/.idea/modules/examples-kotlin_main.iml index 1981825..cf49b10 100644 --- a/.idea/modules/examples-kotlin_main.iml +++ b/.idea/modules/examples-kotlin_main.iml @@ -1,5 +1,5 @@ - + @@ -19,6 +19,7 @@ + diff --git a/.idea/modules/examples-kotlin_test.iml b/.idea/modules/examples-kotlin_test.iml index 48f8fae..ce9500d 100644 --- a/.idea/modules/examples-kotlin_test.iml +++ b/.idea/modules/examples-kotlin_test.iml @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ diff --git a/.idea/modules/semver.iml b/.idea/modules/semver.iml index fac4bc2..efffbeb 100644 --- a/.idea/modules/semver.iml +++ b/.idea/modules/semver.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/semver_main.iml b/.idea/modules/semver_main.iml index 10fd523..e1f8dfb 100644 --- a/.idea/modules/semver_main.iml +++ b/.idea/modules/semver_main.iml @@ -1,9 +1,11 @@ - + - + + + @@ -39,52 +42,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -95,7 +53,43 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -106,29 +100,7 @@ - - - - - - - - - - - - - - - - - - - - - - - + @@ -137,7 +109,16 @@ - + + + + + + + + + + @@ -157,6 +138,7 @@ + @@ -208,6 +190,7 @@ + @@ -217,84 +200,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -303,7 +209,104 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/modules/semver_test.iml b/.idea/modules/semver_test.iml index 8504f70..8bcc70a 100644 --- a/.idea/modules/semver_test.iml +++ b/.idea/modules/semver_test.iml @@ -1,9 +1,11 @@ - + - + + + @@ -40,47 +43,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -100,6 +63,7 @@ + @@ -151,6 +115,7 @@ + @@ -160,16 +125,7 @@ - - - - - - - - - - + @@ -180,7 +136,7 @@ - + @@ -189,7 +145,7 @@ - + @@ -198,7 +154,72 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -209,32 +230,16 @@ - + - - - - - - - - - - - - - - - - - - - - + + + + @@ -244,55 +249,44 @@ - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 1dd2159..9e013a1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,10 +4,10 @@ plugins { `kotlin-dsl` `java-gradle-plugin` `maven-publish` - id("com.gradle.plugin-publish") version "0.9.10" + id("com.gradle.plugin-publish") version "0.10.0" id("com.github.ben-manes.versions") version "0.20.0" - id("org.jlleitschuh.gradle.ktlint") version "4.1.0" - id("io.gitlab.arturbosch.detekt") version "1.0.0.RC7" + id("org.jlleitschuh.gradle.ktlint") version "6.2.1" + id("io.gitlab.arturbosch.detekt") version "1.0.0.RC9.2" } version = "0.9.8-beta" @@ -16,7 +16,7 @@ group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" var packageName = "net.thauvin.erik.gradle.semver" -var spekVersion = "1.1.5" +var spekVersion = "1.2.1" repositories { jcenter() @@ -38,7 +38,7 @@ dependencies { exclude(group = "org.junit.platform") } - testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.2.0") { + testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.3.1") { because("Needed to run tests IDEs that bundle an older version") } } @@ -62,19 +62,17 @@ tasks { } detekt { - profile("main", Action { - input = "src/main/kotlin" - filters = ".*/resources/.*,.*/build/.*" - output = "$buildDir/reports/detekt-reports" - outputName = "detekt-report" - baseline = "detekt-baseline.xml" - }) + input = files("src/main/kotlin") + filters = ".*/resources/.*,.*/build/.*" + baseline = project.rootDir.resolve("detekt-baseline.xml") } gradlePlugin { - (plugins) { - project.name { + plugins { + create(project.name) { id = packageName + displayName = "SemVer Plugin" + description = "Semantic Version Plugin for Gradle" implementationClass = "$packageName.SemverPlugin" } } @@ -83,16 +81,7 @@ gradlePlugin { pluginBundle { website = github vcsUrl = github - description = "Semantic Version Plugin for Gradle" tags = listOf("semver", "semantic", "version", "versioning", "auto-increment", "kotlin", "java") - - (plugins) { - project.name { - id = packageName - displayName = project.name - } - } - mavenCoordinates { groupId = project.group.toString() artifactId = project.name diff --git a/detekt-baseline.xml b/detekt-baseline.xml index 54c1b9d..936c64e 100644 --- a/detekt-baseline.xml +++ b/detekt-baseline.xml @@ -7,4 +7,4 @@ NestedBlockDepth:SemverPlugin.kt$SemverPlugin$private fun afterEvaluate(project: Project) NestedBlockDepth:SemverPlugin.kt$SemverPlugin.Companion$fun saveProperties(config: SemverConfig, version: Version) - \ No newline at end of file + diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index 24cfc56..44899c6 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Fri Jul 13 15:21:02 PDT 2018 +#Wed Oct 31 17:27:38 PDT 2018 version.buildmeta= version.major=2 version.minor=1 diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index ebee42b..0a420d2 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Fri Jul 13 15:52:43 PDT 2018 +#Wed Oct 31 17:32:51 PDT 2018 version.buildmeta=20180713155232 version.major=1 version.minor=2 diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 987d122..a16c30d 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -82,11 +82,11 @@ class SemverPlugin : Plugin { } } - override fun apply(project: Project?) { + override fun apply(project: Project) { if (GradleVersion.current() < GradleVersion.version("4.8.1")) { throw GradleException("The $simpleName plugin requires Gradle version 4.8.1 or greater.") } - project!!.afterEvaluate(this::afterEvaluate) + project.afterEvaluate(this::afterEvaluate) config = project.extensions.create("semver", SemverConfig::class.java) project.tasks.apply { From be383c3cdef9ad9c2ba2422354d60e086445cc71 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 31 Oct 2018 20:58:00 -0700 Subject: [PATCH 054/155] Updated Gradle wrapper. --- examples/java/src/main/java/App.class | Bin 513 -> 0 bytes gradle/wrapper/gradle-wrapper.jar | Bin 54417 -> 56177 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 examples/java/src/main/java/App.class diff --git a/examples/java/src/main/java/App.class b/examples/java/src/main/java/App.class deleted file mode 100644 index 47d006c905030478a86bb3ceeec025b8a177cd1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 513 zcmZWlT}uK{5Ixsj-F4ma+dj%|Bns2-#OLx`SMy(}yHA=|a+UsVqZ1^s}2 zR5W)BOnjL$_uM%%XXfks{S&|u_6_JLrcpv!L&boCq6`}bHnF8+TSJv0b?gSNIAKt% zW}iVl3rCzG+jRqeHT4HPy0r%$F{*F70Yk;Q?~d(9yY1P5)9#7L4V;b?W*jaqBF+U7 z3?-|%TE<}X!f7<*=dSFipH3z%*~>&4hK3yzHSCfR;!R|c)39fvjs}By$vrQuKZTJu zYBA&%4z34dJ`_t-@A*M+pZbJT`Y8YUaKrWuc@^ZC+kS_k824DF8MKKk@@UbrwYosF zj|Lr3r|W`{N#7JR^r{gu!sNjm?3EHSO)(XdDiy9_opM=v7)yct8xkK-?&eTuNY0R2 h$P6T6aSj@Z=oEj_DxsXB6towD|1+eKJaGvWegLT-Vdek; diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 758de960ec7947253b058ff79c88ce51f3abe08a..29953ea141f55e3b8fc691d31b5ca8816d89fa87 100644 GIT binary patch delta 49471 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 WQGf@&|Fh+cf(#evVP8i7iTyt`4f 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 g*deErS@4UrK<)vcGA2Rx+H;t2P44+yIZ$Lf#N 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 Date: Thu, 1 Nov 2018 19:06:00 -0700 Subject: [PATCH 055/155] Updated Gradle wrappers. --- .../java/gradle/wrapper/gradle-wrapper.jar | Bin 54417 -> 56177 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../kotlin/gradle/wrapper/gradle-wrapper.jar | Bin 54417 -> 56177 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../java/gradle/wrapper/gradle-wrapper.jar | Bin 54417 -> 56177 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../kotlin/gradle/wrapper/gradle-wrapper.jar | Bin 54417 -> 56177 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- 8 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar index 758de960ec7947253b058ff79c88ce51f3abe08a..29953ea141f55e3b8fc691d31b5ca8816d89fa87 100644 GIT binary patch delta 49471 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 WQGf@&|Fh+cf(#evVP8i7iTyt`4f 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 g*deErS@4UrK<)vcGA2Rx+H;t2P44+yIZ$Lf#N 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 WQGf@&|Fh+cf(#evVP8i7iTyt`4f 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 g*deErS@4UrK<)vcGA2Rx+H;t2P44+yIZ$Lf#N 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 WQGf@&|Fh+cf(#evVP8i7iTyt`4f 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 g*deErS@4UrK<)vcGA2Rx+H;t2P44+yIZ$Lf#N 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 WQGf@&|Fh+cf(#evVP8i7iTyt`4f zx_0eed#%;C%@FbB5Wjh0?JT6lz`($?;ziYAbx-i_TyI^!#rG1#w|K%|`|71$LxO=V z!X;jj;w66nMhNJ7&1<24VUDLzNMc)mgONof8=Nvzmj}t&z_-FdW{H}^a^+(Vb$deo zNg89P+{9^rM!8u_?M}hTOi}lJTLWfA#09kfpgTEdWVxlT_M{6?{QLZPwgxlmQ(+hP z)*m*VP|*49EH+HaJf<^9g_jz?H=ckUCF&y2I2?xAG39EmQUuB&OR$rQ6~Cpo({BM)vyH&0IqpOP`JyBAdK=*Z6C zvc-9spai5+X>!ap+pbPzVC}Hn7XB!lZCWsV?9Q0cEc`9Io??Y*W%$dA8k;kFlK-|$ zD@gF62@RXHgPA2m>Q`~4s;+41cvq1gX224seX}KvN0Wwpx@{~P+l4LegtCFL++uyJ zYkYyHEV%EvzX0V`#(ip9m+28C;v$?5V{JoKwlm;E$+wc$da1S=E2lKagv(N;Pv%8Obej2f?9H$uBt!+%|JQU` ztPy@fyRKO$EWGeY8ICKH$O2q@^VGn*cwg#^e4m8B(vQv7lCIX0eT)`bhLjK|O#i6s z6RZngBRYa+EenBUOx9e^abIS$G*8LWXA__yqN|UbxjDj`!}WASUXnx5Rk@Je=G@Ye zj9pj@KaSyrSmb6V5R>&w#4k3(ny0Qk;-lFoAk;`yg;Q%ACaNKZ%AiWFM2}LPl5a)> z@*3>{CoOx6d9`X~#U&@y3aQjEJwUT5O>BVd2nl9-9-;9iq>SOE2`Q?4AC|;;j+xSnQogXnu>2S0%{j@n z-|Z8(b#v;=<4D2TS{`p!Or|J%FQztB& zZfjnVBD=s=UE=ppkSATYoalXtlsKRyx_;1rG($A)5K}v6{mL4U`4(HdoOvUC4cIVRaW*kKwd^kj5gNY8r;kAmETVCh-SG%ObmFCi z;YJ%(RwPJ6tnSwo-Ywigolaj)9j+Svioia~yM!U-X7=r4K8>N+wIV4YY6O5j_CkHS zwN(^T__NytQY?G{TsL|YU0D8NTjJjFRT_?p9A=K#6V%siL_2s zPA)auA?cVozKb||FOj@NmVF#~-`u`$zDRVpE4kpebV-0ji zdsZs&$V=ti?$-rhQArk&p@|P~NlX}5CVvs&y?&AVg88lh0f`9)1`CV+U#AoUvkA7a zD*SJ^_}`*Pyd}j>be@1sT!qF5!gBgZoXMC4#q1^Q;pF5hx-t<^cJc=?UCsrMgor2n zYoGVwNG1Avam~d2n|V^l1InpP+ncIqwJ^`+H=s z`J77{DvSU?Wi*($E30&S4EC0SimU+sazAZgy9T=x?7hfucRW-f|56gBkQs7BacNv= zlJJ-TBo8K{0I>fH{eO^;Iq|!pfP;aF{@2wx|1a_`7$zXJg7F0lX*k40Q85Cf=3w^5 z846dmdiC4%_g$2t{~XS`%^u2)4Bj=Era0VUK$_oij@z}6m(|m8t&<2?((Q^gIv)YD zEA|q4E6ALP0M4Ge&VECmyV-eN8q)`19s7!PF!wdTHkU*4K2#`7M~NG1Ky4Fc=zME8 z=)2R4m?(hO!b~8zvOmW2?!sEK9++B3L=^|UnBy4r{T->M*v#1|H2-_k53i13-r{x* zrrKg}4pbxKTV)yA>(Gnvpo7WD1}J*Oai)AP+AbDNH}HGQzjg5}3)}Z78wjCKR*Cf3 zSL{Dbg+yAs+RUKi2$OMLk5Tb13|G~WZs&OROO=8Ag7`hsP^k)+SjMoS=A~@2k?4ng8u zh)iN`BPwBV0V1s0KOndunWULMw1F&)h9lx%T1HN6JS>x)LrsOe3p(03&XXPDDjw65 z-H|V#eH0zZ^=3zy#_}toP0E*3q4ECj972Ep6C1hl-$+s=JAd4dh^R(>3UC7hG6D(c zRTtOf0_gETnTKowfxch@uWAg+?!A7ti)r;kVWp(;*fF%U{w9~UQVR-mCi~`;i3rvu zvra4nl9FoVS03l|Dg`5SD1+dbN{e{q59sgs|8Ir=PnrC_MVmrF1_Pre1Op@cf64?I z$ks(L!CdwbQd!%?i;*VLlC3kjG3&*C!zcL3geZ*;4w-)KOXnIo=$_W&@tlzvODcTrkxrCTh@NV|eHHkP}k8%%`jT1SH=WnLf(t-HNp0T5Ci~H+8uPCejhTQ+?u-;gR z{yFSGe#wmRxPR1!IpME_r@H$`8Tai|hy3oMUz61!;3Wrdhs7tS`o zO}0mznME->&JJm{^>HiNFAr8{v?_stALZ?@7y)DQrI(GO-V1IlOb=Ecy6d-z>M7U0 z;E#poBPel5gJvjCBzPoz)TGc*XK#iym-?|Hrp4@@O^t=34%;vJ5)gnn$}qGFiUve= z7JTtWI$manJ)vt?`W4=^e9^^KR1TMjli#LiP1(U0oVH}`Aiab7Jj;A`RJ5*x1O0UIhxaJoD(}k zsp{m6s;pHuGSm|zw1vY@*`$G~OkBgZ$T0{yW{sniAHN-i(x zsIc0eblE;(bIfqfK0QzzZWve1n=sm>k9?3cite4PZVMn>za}Ojn7Gbx??9naZ(dVv zK!+=bXKTz#`YyKu5;;A1t}&ic2uCr<_;Y+no=$+k4nws4L-vWslHpP^Bt<&-}rDI)9g#~U}6^xq}idZA=b)36-9GC2Tih3Zw=bCTU z^1JU#OYp7bnAI^H&AH}xVGh7j@gaB8jL(z%ueo+NyCNP3DTBO4R|zK{W?o^RSjD*! z*Q=WStsjTQ2?-T#Ar-Kh;JZ2K{lD)h1kUAoHLeKM5P$>S0q^XwBF1fEmWPe(KJg3PyH5cZC5;wSpVWm{% zCtvl!1~fO0tt6(xNLFT(R)s6`J#ymY$xNk*eNznLIcon^3+KMU=l#jX&8q8ZugP&i zQm*AeWI(-fmoKPBlYP25xdrAh!c)mTtw7x!RIrZO5|v%jDzO3DgXIzFmpN1>cMKb5*vA}o!J5=&0rd}SqU%Quo4?tn4*h3{w8B+I^9+X zjuKkxBxu&|7sns39{Z_3yWJ>hFL)nSqTk=>9e%+KNr0!SJjTW##uCQHmcmt@#3$0o z6aw^OlBw1aWqy561t}5^^G}#=f$ns0k^ww=vTdsDQYZ|73`VDF=YfUvoV%2aI`{lf z3k4cH!C6IBld7n+#61I+S6N|_Y6cm9W9oFZKHRZ#nraFAK*Z^EGqoI7c}hjoD9{nc z=(<#Wd5v&#JSUs^FWo*x5Mwbu_3fWBZeWPdMK~@??a4tZ_RXMz@ASxhEQ(%6oGtdxVkwkZt{|5s^2!t)2PcJ}sT(@LpZQk++4j zu{z0!OzJo`TGmlbUVUzcmy$cYYtF%@1L#`Q666*C zbfPChDgL_ykLSi`RQgv;041oY4y`}^AXk8{n3eT-cW5=7*i9RqnhMsYJ65ew0+Y%d zHz)6+Q4&!QsDxEQXMBj}s#!5#G}3+P7p(JJBAncb#quh*sWYvymBW&S!Os_~$$$EL z=F{~aoA@O>k3w`LYhnqkH6WeSR9-d4@2hdv*^EByy%1$IM^nL-;qUw%UF$x3^tC)G zGldI{2sbmM$UYMJjx&> zQbhKS?f+^gr%;SB=4G{hwqn}Zfung-X6TW#td!HIs?C;Wk zY)V$dZv-tE7ntqcPms`Eidw!;RhVCvxU`!yOw!G02x{ zkR1+Db`&a0nFFzEh^Bqv4BeOCirqNcp5JZ2nO7@5m26oKre?9Pnobk?t&PzjhCzJK zhJ&NNq^AD6rbdg0kyIWNdh0I}{SnQO);y-sO~jZ>E&27~PoTMwxW$agQ3A4hC4@*m z)v%2ys@H416=x*|qd7l!zIITHYC~zWm5L!H z?rg&f=C+~wBjZtxsT(#AfI7)Sj=z;K#I#(`MZDD<0bH`QEO0FwG(RmgEmSx;C|v4o z@N3_1S|kGE3Nt2@?o?G)qOPb5Txp#35PbL@>BSFxG7;@P6OxJzrvr+ zqamF{;~*PO&N_pdrx@FFN0xHJ#?CVg;y61$g8SF(ytAqOh>SJ2vrd6D8}O^6vT)4j zxsUe?8-Fp5-|PtR&KB`48l8-da2PU{^#vNwMkcb#Tyln$h&`Cbg-|8& z41+f)x5O?mXCas3(Jo>ifj5R_7qL6K;RT*J58K5*+iklSudn3??A|xiezhxrhpT*q z!5b#<2XYq#$*@4AW(+#ZKFlq%_#qkeO9$Q_z?JkwdzfQwG5q&k!W+ew?iPLeiFo0b zvUX4A#t5&tpazWQ>CV}V1*Vi{V zc#_%>ntP=OX9>9ml~ytO=7g0K_N2yM!*2T#z3)Y>kaV*|K{!n4b$wXP%1EY`qJ{gm za;^v}9hwp;5fl?Vvq>=)H+~MStQ$vneR`*am6JbjzLd#RKvlQ6rl@Qg;G@0MQVk~4 z_>P<&I3?4)rf+P}RCiN057QJ2g9OSs>|cGNkdapx^b zv}*FMRnv`h?o;Mil0;nK6#Wu~=5id-HWJY?63GcFct3r8EPCOMH&QyQeo=h_z_WDY zNCxiR*Z4BHc%FHQKKEbXp3I`_axGL!nrWhr0@TtIaM%yOFbl(Ul6t}qIPL^^6RuY9 z0x>x5oO!1_i}s-%t^A!P{IY_8yn33b`E0&8V>00>M$;N8Lj;vsit9r9YwLtBu%GXz z=*HKK^bP9y@y{Gr!!v-3IwKm?GC*nAIo9 zew0xaR{K#ETEW#ahG*2eARWP86;|xhRP)>KAwo>(zlI*4bUN7<`lQdJ4F?vI*;j-m znsSQ8Ne-Jn*|z+r(V9t)iC*A5k|_8>?_}V1F&p9I~g&*)ecLM)^;z(cwE1D5B7}y~~;x3*5 zpznrpj29@ZJGXYu#f{91Ho`R{$-WZ&AWGjsDcz?*>h{NFKSX?KF1*XTsj^1vhk}Zn z!dj7oul!n=>wM-B`Fy$+H5%%4h(Qxamt$#9UTWK^lC`hun}5fjc$8L*=@)_S@Z*5( zV?S-+^IC=kf;VKHKc~M9SuhfgOVO4WsHKRdLo%L^ALMKD5vwj)zb(ixR-?gLxbfgJ z&={aXVrdyr8^c(o|KQgJzWZ*yAZ7eLfXuG`OR~_PUe_F(h^xCPK& zngs+HXOf>c^i10Nk`5P&MP*F1i?mUO?Z692>&nmgl>3m1fJN5@Q`bSy%bf^Oazk2+ z639KDTE(HOg3B@W$Fb-Knrb{5dcbJZwS;k7>;1@7Fs%VZrT_4;dQs(+OqAYrq`z44 z&@fVyn&ms$O+R8U6PqIcM~eVxF|gBmgUo2`hX|T=#|*!;Ox|#Atb}P!Wb$z=zj~iT z`r|Y1k~FfbsIX9KUGrBhFM9M`bKTe^f(CZ=g=&y;2*@>%vKV|X^U!$V!jr4?_-X)LdWQDp9Q@Z3a0m^2F)#Wxo(~Gl|YnHjg z2t!PG?R&G6r5tvJg5_!p+gbeR=q|;=vM#wUlD%t~MtYsKAw${w0trd_M77dG{Io{J zU%4=f1|f!@a_lY}o`gfG&F*2zYXuRZto**-HSt)Q9EbzR+!PejjWN z%f)-)3nZK2!)t<`@361X2^_VyN0$UCr%c+V5V3B}yx%FX74q0Y8^Kar+rA_RwcIp^ z856u9IoiBb2YETG4KP9U3?ONpnLaR?q6C&W_VF}k{382VLT;1|$AKNXkvLTqID#*w ztczvjC}+K7mo5h!ZZlzM`d&Wj#ZW^n44`zL$eLWYvzUjH6)0&P=`Kfnv4k0p*FbG} zt~I5E%_{X4a&S$T!`wwe8Pd7Vv6bvgCJM4 zeC)sQl}CCtrDfA!4JA>m5p|P!xg_VMFLaI)@E{9P)?PzIeqYV$op$Xeq$!szB(m{a zQm^?Wkb3S-kN_&gx`?E`$w;`3pNNJqX2lTSliS8mb!PT@5 zSkrHD@kY}xh4Fj8+PO6#Pqx{KG+YV%VdAdDvqZy4ckVHsoM^0AwyVOD4HYU1BJX#r8kf= z>;MoBJNV=E$RGo~tXl)H_zQZ2v_ixKrM$5~{tuub;2#XlEtnMA04RSKQI!xUfHvZi zm&~)i?fTF#%nQba`rt1Vd&w`qhZ{srUxyi$SnGp6bf;GQ5*f6b?qG_8N#ZsC6l(|B zC}MIv(+lh`F+rKp0`{*k!JOmiS#u4Z6o6}_%%@ZCdV05#3_$oemMN8cEFBQY`(%D= zF;O{;8z)o=J3f|}kfxj;EUi@euKthlSm#CKE4n7gZ-wTDd2i_1hp^NHXH)v+2e}jT&1&a{SvNtcv!2wnBps^tzyHr%_#f#NvfOvm;6H_4HSv;^8_-w57sLFL zjyGI-RI8$GYPQvf)L+%R)SMq2uZYxuC52P52!*R*?y%6c|IqHDw6&cZ5q^;25*kor z`1`YCv~AL>+wEv#;#x!`5L~CfB3N}|)VpAZE=Mkc4%Wm-+TbM;Rl1IJw=MWLSQo0V zsmKHOw!+KBIbK((H|3_((LTny z8N*=t=QKKJ5=X($H{R4{zMde*)DLRF)^)EZbom)Un6uStt>igAUnGZ?6_Ps}o+`RX zG4qARHSffY)+>9=C?>!;^J~C><$Ga?GVtZ;^{0ds(1K$STo4G7BPGi{hY5(3E5qGZ6Oq zBNuUiCPvw*Rv(Q8{b+^s4N$tdsxR~YiG}ryYL#}9^DaH#NWWnTYdBx&9p$x9oAQ8A z=^clHc<)6B<8jj?3%uQ=rFO-BzpC23#UC(9_QP8y!@rIu!|n;7Lho`M^=2W>cKLnM z8XzBLGg-sRxE1+F2+Tz^XFnYGYQ%40m~rz>)tBfq;uk0ZYX}$ApSURlVD9sLkdmeI zN+cv=&dPGkK_K9m80-J09W`O#jfJ7qB>6!nNJ-SsN!*mE0_a&ha1I2dp0Hef2K$DJ z#+Uu4Q~yl;%`ega08U&gBt0E2!t~}^*dfriMy6)dOorIZjL z=WXpwq5;`DF#Z_Jc>hFx2i(2d|FmZ%M-&5Nu@8+8SqWLFN5Zurus1i86-R!plcLOy zSB|#wpd^yZY<8#KL3f&+$l>zV$C8>Sb*K~ch#j5QS3fwp!vBTy#J@X#LN%hTl3J>7YE>q)*uw zg5Rn%!`dn}!<(Y@{yv01dMGSdwDTG0FDgYOTt*%R_sT_=iZXg=DpK;{Eg4D@H}+`` zKLu2H6Ow4%qWNnKjoi3k<@RF03zzSx(>L$PVdV~6f4o!`y=IZ*YTrP;zDoJLBnf^b zSUe<=7^g&c?~Q0<`75otwit9@jS$^E69oFJ54GGlKyBadcO<;{(Ras@{5=e(4-6rx ze1QwB*s-REzI6*)Bl^6|j<1n;hi-pExdblGPx%*Gtm`^zwMkL=DoB zULTPpz`K#%Lgp&S>x*VH|Diy;arg=$RM}D#nD#r~_}Z z8?d>ur~CWT^qm7+S6-e%zKn8({%~LLj5Q)U_J5cRRbmp1n?~w?oVjilmqOALMW^9y z5l0aSRuihE3pScb>xn}qC4uy^+4fRm&&wP8;uc?hrT6Qd!_#F?M$teQ#025dV+B@s zym)fK3J7q}%Ee3+^)xi}abhE!cz_S>Q7e}DhoIz|tMuJTL^r8nZwj;P#kfwrw>LEN zrMvfK;U9rX$V*m z(T6|eDu|{A_b5K47b0Tx`8YEJx~U1yS+c05j*Piz3hoa>_)Ri*7smGrf*s<)xeTJt zIivTqkXm-EkYrpqI%Y%R<$wW}8%{&b6J_Zz0D*As2$3ywBn=ZkFw&Urr73KCr)7|j z`nxM52FFQ*(mxqE+ZUq1+Fg{F!e9~53&&S~Q3hREwy$rM49W71_J`8I_ALq$Xrp`= zGpD?--w^(*eAoD;rB@B**<-w$Fs@-o5LsXnW3;tAt`3HmhK5rR2WU}X`Lb?aFQI!n zS<><2cc5HRRY$+>F*pHV@F6vx%t>i(jladKb6?jX8x$)YQ!X)2(kF`55 z8A-bs(jNgYqKRSIn(c6)7begoohO(pSyo^$2eQX;JH7o?HX~VFrZxz!#EAJ#O2e)| zno(`gOljd4mHV2HEs*e)Gn)FPIQNSxdLv(hqAa2~qgD3oTtJ+It6q^2XJsj$Cb0wy zpY0?T5`zpg=KS=5SBQY$tVFz~ootIRpMs79?bls`KvikX_sunT!|^K4O9B6d2)zs) zGA;Q?GNr17y1|iN%3~i$* z&Sq6Kr3@XG4BgmZ`+f5ZT zQ7sGZk6jyXf&ec{RQIW{Z%*^VF*^&%{QPD4tYW{c9*!E*i1rkuj9FniCW4)V>N*p* zw2=?h(*m2eo#05YAbZE@Ej>P0)rY>z=tGRAAT8|`A%*iJA@eUm=8I?tBq%>VNy{qF z)kpBh&{j^*$50tK`fz65Y^mIt40))AS0rp7=5@?9j750nSL;+(!ghjNc71BR zIwcRpF}209YfPikG~`td(%)dZ+lP3-ZyaV&>O;&Ke z!~CJ07SH^qE$dtid7UecMTgUv0;xcG3H0aHvPFs7ol;ilC+CUVoMPHW{Gp8+(p`Y| z`BSt=^1!1)PRpa9Kfa{0SD?jJ#;t6+>Re|JKi&qdrD%2tDXy-=Mfjj%@(9VC(~s|} zmpRmq*WpFh>%p|y8Jn^+Ylu`PMUhenmsw9NFdN+EzQ(m8x@{jUb|PmGwq6J21>|9| z^lN1eC-X*mu6ymr0uf$=$XgWt+_AH{mT98V#_Xghx8L}}UX$*@93``K{7lJ%C<6i^ z{&9>JClMm=;i`S7t;`-c#{EcYPLFFqY|Ab&8gU7}giM`eB*W&O^FmHb{+@^^Zo3@x8stK(|c2gLmM5 zFJ((u|2&)e#dG3WjQl&ZTM7c zzAEjD{Xt)dgk=xaq*$J;IL4)TLG8<@2pIRhw6Fzvv3YoLI21RjsD+(dUf|4KI1`4XHym9c84q?e_2c#4f0G0Z`^4|W7Zx_K zfPsoj1vc@N`dE7^iFVZ#C)9Y1Q{P%Gq=AA=XVXkIDP7ANMQGeFfUUmlIYg}SLwE9A zqF*O7sW^;At#0h505yyYzyHRZrA>bIDJiOzGWv_P@JKye)cHG1TL`wnxPyYn<;sKo zbuR$%zu_81{xp|>0Ry{4N!((g2j0Cjw6VUFk6gk>p~Usd)bo@aLPlpSNHKrkpk~Z) zd%|*(Nz&RnSurOf@I1$QUEP#9RZrV8b=#i3N5s$_&&-c}1F#CSv)I1zMkRm8nAu-ho5XWbTo#f5m zwIF0$!KdDj*bhM@e04RamHmet?>&cEd|OO6#1^aWk~N%;JN4^;EWVQ?%xg5kYvh)= zQ=9VIZs`5?o9as*B8lTr_|2}CKO{-=kvW^c!C>6rEu24ltjy3VuQ1i5IsVkp%_*)h z#(=f?ivgkGOQ)hB^HMh|a133-DVV<-h2LE?<2hC*;J{~|AmM`RNMW8GU2#G_{Ohc&x{q&xW z8ane6<9X^2NbA^L*(v6)9azN5%q6@cu#?hFT}JmM*acVoRj5~9ZqaXd(T8ag#iK6s z0v6E<#A_T0DFb2Fqpknt)tIsJ@=*AZg;u2NZPZ-H$umzk1_Q!D(UG|wS4Wj>D?Zo9Gx$5ZOpj!+pEkP!{`n%ZOR6)JXj_>)v6v}EglTXg+%W2@S)(=iM zfxVQ@D!dTMTB{CFH zMLud4B7<=Nr(p3uc#c-Y11941@@=%@KU|#CrW6(YYt*QD{4suJQ|S>)!OGoVvAH{? z{5b>n{DEP)b}yl^I5!GNJ#)7OE3aJt1@ItB9Nx@ALd;DJuNfylp?el@5@NS^Es=Vb zZ(%-E|MTFI-;`iwN*+3>1eSMO17${i{?fburX%VG#+4sw2g8&KPxu2kKWJ9ha&I$Y zdtgJv;FdCmlo1_xj*Lt%3r1^$su;^5eC`)Ne-rCYbAF7)e_z>Zq~v0vMo@O4rCYQB zZ9SmigENq34d4D|198s<)Y$)W2rq3ASS=D}Le+d73}xF!l7w%e$y^*67GJi-g0U^H z>9ynoBJ_s9j$QXQ{>$53CO8pue!xKw|FxPVXLyrddYJH7KBHbwi&{LR9zHrtqUN$) zXwcC}yjKX&-e!;n%j3wOpRGZ z3JJorX_H=e2LAoo6mi))rkW9D!^rdQV<#aC9G6Nv5B)V_fBHQxBMDI-!p^ml`H$x! zYzVNC>y-t-Pgo5?!2}h9`d;4 zi@&;K=UAs=Iqo>m0nO&w7^2bl$Y5NqmT!d~+4Ez2y6P9*m6M1A-fO!=^JTj^eKH#@ z&?s>PLd*Y&vODQ7y%}kvpSjTp_U^El^XyQ3oUDK9bFSrUH2x8ay7!Ox;_$5F#RHXT zW~ElaAuUXPlPxAitcs6T+;lVQ&1!acQQbTA$+i9SqyaWCN182&|9 zwfSB89aBp+PZC#ggY_o?3nasO?hkC?IAR2PoqF&!es8npY!8_OyrGBo6>O?IuHTtD^S=^Hv5-^nBYT5goE0-=U? zkG?}Vl2t5gI|rWpa*}PSU`mUshJ&gbldW&4HJw_z<=K6CZ1PfFa@n2_z14x zfLOB&M#1uNowiXCB^Gyy?g^Ke&aoxkS2!wvM=Usp@V3ROqWDvhbI8tL4A)B@fG3@4 z57;L4%!*?v^Xg1CFNj z?(CWqfh}a`iDkUn)y~rED*O1v`QLACS_+mf90nLz6&)BDY2q#mQDPSlECA=Pao8k6 z!;vn4$E;79-R9!$vk(QbH7bP!!A2$}s_~oZ&Oq&zd^%fSk0)xchywCF>EG^6HLT{(5?F zll+ft5#$k1r4G}?kjEHj0Kwp#-$2r%DqNz)f_l4b#Cu-Gu-|`-jBW6OhGANN)5vnL z^-2lSiMHHYfJ$fy5oaWG=+8^(1UIKSzy%Yn=?LLxG=wR78(tOh(kYbc`>mmDu;Y+# z44C1*Go_AAvxCNp%W;R24T_zca*yc*jkOqIXAF#J_oF^Kb-EQKfsJBzFV7#;_v|9e zf4zLZ)$X`~cP30D<$2}wH+|ECH%il|Qp)Ch6weo&ma~~S$m=M(T zjXy54SQlsK(LcVQ0Mjx4Y8Z^`t^}-lcM`q@+NS!u@c_BX=M$Hloh=o0oHG*}|ce%MA1OBjaeb@ z6db4>tD8|&pw$Rp9h(}f8B-aGmdtLyQ-S*eo5>G+W8ClHnE2F?8F{tv21{|Ui2J{p zQx|73K~88Cv&u=wu%jHb-~2Y55<`Hm?Xb4eTH~|+wiaWT2Eb=}+H^FYm0@33Io2yu zY_(;9+zrWd8XH@ibfZe#MSzr193^+pGwS)ql8{y1O^|JTnNipJLVJftL;GmXpfW&N zFF>qhgI1F6h(K^Yf8SrM-_UMLW>zIcpJd(Ppp)AHomp}wv};2Tx|q`@Q0?L-TuK~m z(lcnVtn@4dW}N$xNRRbR2a)Wk=8LIv^OkAsTwUuGcsP8{(b2L&_K9fAndb_9_)>t_nA{fg7GL}GiKMN^78ohe zjE&BCH)S=Vlm@YOH+)Lw)TyCj$W5H^FX>*pMx)t*7?-~z9+kfHVbY9rV}^5c#Y{S# zMO0Yk_#{}1=Wf(k-RJ{K1L5h|*$ZQC(ih;?QoPFqR$66Z*_xTJ*oFFm11Y_cTTJVy z?%I7!X^5o-tWL4L4GLjubRJQ}DydrogV102yQ9dN{ziyoYy-ME3j=iXb-tC$;89>^ zU9;r?4b$o>nKH}RolUe?DdWsy6RuS}+27@yvlG;^V+X@f8@ub!XD$VEdN6ev@De(T zB0bA%@R-x=c1?mf`z58qLY`$U0(3YNn=RH)=?Wfj{zSI`{aTuVlG)4F2?937GLEU$ zpjR7@MALIV5bc3q2S*(Wl75F7ZAC+~en<__DWg<>^7-a-J5F*HY*vD7qq1^_|AI!Al>6(N zE$@YKS!c{cvYWVNVylY9UclUr%T?{?gls}E#UDOVa2g2QH-J~GR{rXqadIue3d z^9_+}=23?+C$4(5e(aG>cd}QYh*%_=c0V^)RCUcrJ4e^lu|E8&!}{5S$X|y5c!t9) z-~G{~xvi_vANJ#QP-#JDj?dggs#PCpKjAq1E6E1TR@wX1UBA%dmQ`@F7k9{neILxEfxa zJ3zTOz`a^Nx3ml1xbW`Sr*`c9MKAPuJnmfM3*5N&4#{6A_85bK%eou&y4^mv_KY}a{Y4Mg zUy+l0`n)RqakiNzh3Elw&Q|Ti_mdG`C}L~D63&LC7a2sUbjRuA-`1(Y7*{Aprx(pvcdd! zQs?j493!W%O^scf5YK`Gb=~Y4Qr}!x|G1c*B|b>=)TfLnp@0jppfn{^cMmZq|3g)j zj>?oh`2#J}(ATeQKygr9?=QQ$Tz#s#sAi;D{)Rk9NJa&`DO;3_fQn@km zNl%izrGA6g#UKkHHxk^sL&E##44?WJfLp^}us3-HwlbuMqV4Ind)JRa_*Z}Tkv_D3 z8o1)9zIIQ;S z_s9N-CRI0`ke!mM2#cjsp{M{&z+KgkoRWRWy3DWc4bcOjoXGfH6!qWK-#u1)`;#|( zS;m8jjud_rOB)=SSc(^qh`ZO*&P73-DU=Jm#+}#RRx*hp(n6CkG;^%>o&dh5{7(O) zc}!%7#LTfpeZTyJB2ebg3$L5emC0V??KeSO2l;jwD{vn#i~1kbifT??4%TDb$AM#)#7R}V;YBey%lp9(r^ zE{pNPEt8?(PL0Arl?L=PKsgS4-(F%N4*R+{blfba@i|J{NjUu7bQ1|n-BLsE5F%ZE z6=5ak@beo?Nw=&Xq?25^AP`NG(R)GDtEy!-xuYPfDp$y`<=-0Ru4m{;2+LC6U_exw zya2=)C3c_Xy%ghj2_Ig zfi8mJgq&Al%`G-B=UF7+m5~b*Olh7ik25YL0S7;JG$q~k!TA}CI-C*VkCQ&R1iv<8 z6c98^1%^SGX{_TbR>aOQD-vK1>>n9mFv$ z_-c-=6a7=!Lr)M*CL7x$DMMq=wX5Zx>buig$^_TJPUY|m+D}(jP*^AiK4~2U4a{w# zo9p;YX*b=~vwgg2|BlAnkhJtCx}efi!^E%o{@I8TqEW}ymc%i2N&llh8t;C)MquL~ zMz->kPHv4v`V>Fa+c*cW8@Q}mi=c>u?daFD)YPD>01PLUCxuJF4DLaE$8d6ZFueG+ z?y^g;vuz_ucS7vD;WiLV)h12!_M&#cAN2cdF2N3?WD9lC{O<(VL|N;Wc`<-2!rH)A z*&97YkiybD?_-UG3~oNiq3BVA1cV8)Wy1zxY}&~A5GX~c-g{9roV!Cmey2k_RR7If z$`End@RBT}t(I?)HOrEu|6jiJbNOqJJ^C85YExx7{}VjW5DDJM|2XMUU2GK$Y7Jf{ zrd0b~PDs3Pd@Sy_nwCq5zh$zF&4g*@z@trR0?MWR1>&qEKL-0me!52V7NF}6VKqjW z@gVhv9>0l^zH$|*;p3@taA)!`{(u!7!6`#03g68z{%&)j$GM*|o>Rnj5?y->-4&pr zlgN?_$0Zychx`U@W2Ub=gELV}TYFJjAe`|4t`z8>mQ_4ckC?8!J#AZNKGi#_ z(~Ia|D|y;AU2p;iGV#BnNyKVSyOteUnY{|W;Ecoq_K0`Y=X%)&B_`llx7?g{Vs2h7`6PB z9o;?oRu@DHZ7c}b$R>B?18E*k*^U_fVMc*V@d_oimqa3A0>tV%3T(2y+WgU}n`~q={d_!yg zX(nmu6DdR>BD>~Y`Kwr1tvWqq}x-XWK=0Dh{7)9KBimevVd znD=wRAM>PuG=192CGCPxkHw~i=a`xOT*cN+f5+*qSuxBeVmt93J99qq1l;;xGk6Ei z?Cd{Oi-xmDL7D;<2ZC*U8b#!TM-wQckpEq1@9aB;8T=-&J_heq!hU5FOCbb&3X@%QaUf8BzmonD;w*v(w_ zo!+y$M_SKcMlGwI1k1I&$q%QDJ@Oq~pquY;@N2}wPtoveJRZT41mRlOQiQxs*RutU z7tpJKO)*U+4+AfP;JeEb?<=CIJZp9IRUTbZkBMw>Txn3u8U1)6q6w`c#(Pw56pKKwh&M`ePrh{UQw~ z+9JKx!_frx*ZZ(V1X-}_3`p^mhRS{cm6F0uI*Cq5E=ZC>R}T424?pq*tusJyTAVDL~=5gK4Vlnrvk zNsPRRY^}y)+c~H{xzK}`lL+onhyb5##Ihf2eyyTvw9y#9y8W|tz??OZ$P60rp_QH| z_?6up2F7?WJf2NR_?dIBccNc5sHS=#<>^RK#q|w@EWeu_b2~O%&9i+We%N_B$#CI4 zpA+}{w4h#gRjTrdQBS|XMqUUGc^$KyyeEC~+Z;aBMw8<4k4Kg-IV~r}E2Td-B);eF zXRi1zuW&Ye+_&VJu|4COIl73OWpii9xgK3`UV^Kpa!yTPoy)#~59abAZ}VeG^Pa74SN~7f0enP zY5fSU?i3(#k*aIs)q`EH)4y9&($D9%S>}@<%l5aqIDM$x=qEQvWLwE#P~LnKp3V%O zi@xJQK|!?WxVBvQ;<2ztCfC700&V)ydYFekOyNI`T#nM zsekb6-R{*)y8x_Zk~++?I=qhl`H4?Po39YoOHu)%8?|3`a~4Kh6I?B1Ui>rDXmwLu zy%;c%tKFD`zPmFprx!*wDc0#64CC_wJ)L{9g0@!(5Y4=YTa+*z;Svn;{iFB^O`hUQ zc$-xDlTEyuMDmu&aG6{ZnRDv4BPN9G27RsorO*-k`^?zTzkrpcoY>XIdTgFRly&FV*&yet?4)hwVh zx}SVIj{KA2W~QzctOl)1BEAtg=DUoWjkqniRTGpaOG*F*oTxDvgTR|o zI-W?jeFZ*2CgMx7SN=MWzlT7DhZ#6qisZeV=JZDAv^>_02>|IBsNfveulk87Cv!iJ zJLS`HuR#86!#W(JoWrnn9G*k0s?kw{^5VN*PAzkNYs6Z5j>LwOcKHvFb~P*#0I-<3 zlEMQZzuau<6M9VuTMl{bAO9^K!|w~9o;u&J4RY_ddfN-7H4CX^|vCJQL?Fm@|%8l^??)mn~w`6Bz9t>|)h zcp1(!q{WI&q1TXSJ90*viL}Dj3IGw|`H7^@+k5n;&JsOVCpE6^bRRlW}#FxyYb8g&LZ+bB;68ZaIviF`r zg7>E2PmyN`7&IYi3gh!8^N2J=0%6o9rbaXvFM&~!$wnjvwvG4(CY9)SGNRs7!bg;u zpCnJ#3R->Jp8C?_?%ov3ozQ%3KhC$qc-2;DpD+GpVZNiZgZ=j>G<>$8KK?f3;QU_{ z#eWLOq%3^G_7o%_N%ckV*AnshE zqpl*rjNi5c_PAP%)?pDt4{C%b6q-v#tVS+q1w;AvweX0e_J(81gW-U@y|JzDV^~?(z-t)^gw_;h6xmR1O(L5} zKf6&fQ%r_PAUSbNdh&^`;&e8ywklFO>UH zxDKCC`c@+4O0@TPbiMw;aix~osr@hGU@2Rf#oSEYzVFiRg?X?2(_LM>q)A{kw$TPNej zov`-C{?Ko=R;_Hd*5m*IW5iQ8bUMG-u7L0y#*qz6zR1QV#U52gyHtxCa~OM2R}c$N zCN&u_{+9UwHB8$-K{H{7_#Ka?T_5p4+*JdR*)u8D5r`BWN+XK-_zYYzR|bfqj0VCM zg?HKxlT-WX!AA{4!xy+K_d_`-3{c~cUkkx6T{i+t7%GS&EOhrflUd(?y0P#;WvR7e z54aD|9Kvh$$A}zJJX2whm_MggirzTEcO#vov=(f?bJy6{-B6=%GB9Q=Oh$&Z<$b zZnHRlX>iL|raDAb9g(rFWk4-fscwbtW)c1OSP_}pw{`6X@Ae&+QZDSRw(i2l{s*3Q z-RL%Oaxg;8fce)*Msqm8++7ESAzTNrm~H%N7*LeNkR?3ex%qp8IQ5^Ff_P4pzUh)J z)>#KKV)w+@NdHLhp(W4e{K8--&Y5I$<*DfbXH7iG?&v5rmamo@7bVq+ysZUMYoJ*M zjxDUv*k_hO%q=4%EJ45em}*CNRm*K{ORtqznS%Z6*FAPOg>mPTb(Z=h9_|akKdQXp z1spmqd%LAZ-ccS$y-;!TjE*-bVQCP;n3Mn{l(gY550bQkKwKS_!%I~2*P3PR#`wfKCVE*%;1cYec4nea z?kK~LR%D-&MKezRArN#&BFHa%k$h$tFL>}%GSfoKeYKdY=mgHZjccjIyp`y_Il88FtL~@dO?0uzO0~}*I)tpKg}2a( zNX1$G?(vF2>E4-OOrrqpU=GB>(Av&$RMyN)3*p^Bg2&z~7P4zxRJYCkPk=iI znq2yAeCZD8K99A{EhNO|)pcejZdgux2$ZAqGB2~R9q(U`P88z&O`KOQsB(9Eik66f zlJ9WL3tvF97dWNQYM=Ee2V5~Iqf6uZZ!a#54{X;HW>H5d z8GU*j*DErO*YVmu8DcD-lnqr&we!0*`j420O#zP11ly~s-3@r%U0oJACZ)N?Op?8Z z?5`j|^JN|^!2?g}yn3%n&G5?!(sO+ot*htokWd?uL~li3Pd1PV2@*bdZb68St!wNCm0N2`q!(XMwkVTjHhF)XGO=A0tEE`pneD1~=J+Ou_ zy*;8i%bDk(imT{&@5D==4(LWoE718*Or1h^#`se0&1=(K@RjB40o&6jnN!`w<=CtG z!Wi#_bTI&~((CAMJXaY{PgE7}@95Y6=T=4jzZ5cK&+)DJ?;I~)Xb=#F|E!J_(|CX= zRV^hg6|_$_2@WFM(M}d|t-_`tEk$~9vc}(Nr08H|KZ|rvi89GUfKIz35}^C=9&kv>miWm~eu`-`K-^^dDoK3*41-AzlfpRaE*{Gc77c0R`gg#lCq zrwk|kF4EMgH@zfLb}za5sw|w4J17R;P+kQ{F1Ljs(gR%lo0m1MJv=`rcW3*E2kxc!F`}F@ zR()s_XUByp50`;yKVey9G)xC)q|HR6OkDh5q5D}ft-z{#dcys@Mptv2JSG7Q59Y2` zIxQ(p4~cYv8VlBObdoh1nST< zb3?jB%LLjgYP-@2ItKw|p_O_bHc3$k6wF+uQK8_SX8KtNaKz|%HQBEl?ib^nM#(m@ zG(+7a3BcIElcKr=ub=6}X#+6lhArNJx8kxG2l?apT_@UgY)!(_KP0|46ErXveX#}H6{GKM7 zzfsNjZ%mrA#>;m|Uw{k5DNPk}C#Hg6>Z3p3xDs@x(3adFiCHxq$@atOJ`mr;(pZx^ zA+;y12+UEOrEmLgd;CE@(~sw zVn0BA8oWT%Y^y~cN@yE4@;RfR@6#FFBe|um3OS>$hzb3YERE1K{}M+k7V7|0jk zm!D63L6n)h%?ypG!l(j=F77Q2+X|N2~&y;dj0 zpw_|MmkE9dCbDYcp#&~?^A!+&q6Jq}T4KayQy{@wLi^Oo9QXs6x2b&Blc}d}?HYqM zt9QOpPxID^NEtF4MAX<{Dl!NKt$J zFPP_Xs+ZVSv)i`nBB!!FysbS3W%t!|jtVv|J;}|8*1gwY7U?=V=<3Ujkkt?4tGqX(of81jFeZ6fK)Jz z^F6j$(*rV>zO8g?QRSAma@7f6<9n1w1N{bMN^+X$zq z7I6Hn55U#SQlu~W{22u^=9*vsfc@`ZboDa?bm%7tNa8mYM){u=c6%Bfkfavoh59{v zR>jeHXuu6))iQ>G{1A+1bZd=A`=zx0Do^{%a&AyV%E~LO61@U_o5e!Vv+zV`wUMY( z&U2_yf2I|hH&5p3jqfYgH_PL1rK(}x{oT>iW=Gmn#@@uZR_ARFrXFN1-WS479TGm` z-UQR>weU~5(Vx4SaL{r$fJrSucPlJA*qsZe>_Kj0mThe82nV_#w^8+QCwS5qI{eLv zey`_kFAsMDr!9g(D0jXoZi4-VkUsb1BgDJwIEL)K7qEt$qXn`4XRIlLqa9QO@AxCR zo9h!KKGZ?86~C#v=OdHzf0)bvB064)Yr4<|Q&!$+`ih=-{@ z5`*m5GLW4#doYJ4i4Lrhb`s{C>lyg?rx!Tbmw32X1lXs)a3_P7!unFOGOr>rIR zS*`7?d1?cS>p*$$RnW4N>R942mOn&$6pco6qui9$kD@eazyz);#qy$fPMm_%kg}55 z>WXnUUMHGTeLtx50*59*e(G%T2MXJg`T;>X?GUNBbLC0`IIkJAX73G$zRVfg@#9}7 z3zOb?nDR2b#fU_4R5D0xMi=NYLoI6vkBL)U?9&5SN*pp~rM7e!F;{p>;5G3QOr9UdQRIU{c0Im0PmCV&lJb7%BnyI$GBBPcG zmQ-#HVi$j@3mNrFYs<2JD@d4?;SQ35%dN#uBu)V>9?k}cM^rMC=7>Em;V!6quvE2kmtp-f+RLd>Go512}QyZa4uj?&A8{eIu@OJPl z(w{aunIMu|GvWovUyHp{1@Tiq!%~P~7!kdz^ln{0A${g;=RBtb3H=aNCiT9Lw3QJf z0L++PjL~B>M)H+et(0azxty4$%j;I&;3Q{HXq{@vd8e;e^Bk{iY`+PsB=NF#i!kD! ziGX21aH=K&n<*ux3pffiKYe=EI4?RL?5HMubt32KX&3qM$BY)PFr-))co;KPl)pcu zii`;Vj^@wFZY`6GjRn?v+icVdcdcY;K*`{JK$R?=Cv=8UAUAGC=vG@3f?UQR_NOee zf;nNTv#I9ZWmnMF&sXAME!RLNe(>LVh7;B9tCKBoc)3<^nvercDCSRh;RM3fOt(yj zZ|e~i*9J(YHOXsih^~lpN{FtIb4y59$ZA*YP(VK{-RG5G;|Rfc+jRb)I(0>@Jw1NU|k$jdeLO5{wxvib(L)>7AJ* z=XDVN=w`YT!Vw5_Gdf*Sk{w#I4imLnp6reQaUKT<8EB?mut|z|wK`(oG!7G%DWf8F zQPmrkm<5x@@q&d-Eu*WZu+FB(P2R`NPPEixp2d}nvx^CM!Pd z_wIp5zTQo@MC5MQu=AK*4W5wHJvYqcnbxR|l|THTEk+Qo^3HDY^S14yy#Lx_s=erS zV|-G3eKY$(xxPS%aQ{K9$6y|>DiJ$^=BpWk4+)bV*=J7vspRmDS9dU+pCRB~VY#g` zInl?Z2viD~1?(`TAI=DHYf;f2&TyubuB!?QcW3x^;X?utD=F}-2PA)u z&EWm(P(LGs4nI6NhgS>2jB#?A&Y0?Op-29 zo91ody3ni$@7IGv*&bC$E{JSh+!p0+fSTV|*<@Q>jUHEAE%{Vt7$9$(o|FghoXSdH z5n%pB(0peGu$kaJcVIZ@pcLpYbn2SpB-p=e3Mt_U3B25)lICU{iJKAV8ZWH+==uC3 zmLFXGx?Pm+&M#Ou4lv*(BP6-3murK@@Q+RqlnNqsB8DI)%_wPLO0$ud2eSp?xH*9x zcG%8M@ZE72gpp5Lc$L2{R9RlY0#b3|lc3`jk_0sli%Px{X=F#Vqlc+sRGosGj`Z@# zDa)flkx{DjJ%0En_qfcrfFH&$AxlqIb@~C_18!Yp%a66>)YW@5Zhev^Ulqa!jP`r? z)MYf5ffQk1i4@Tn)wKV2Mbmb0MKKdcR|P%ihAvkA>O^Z2NVY`XIQ-0=vl0EF-NCM9 zD}$T;DBL))uyJ^tJgl1xm;-<&04y@WV~6jP69_ED0o2W*HdR~GhzAAEYkX;f;y-81 z1>e4T7{yNx*tMAmg&B9HmVG&>4V5R=@$uoIL!PsSs`$*7H z!F0KG{GsV9=jxbTI7zian~ZG(p9F5GZ7|KnHce;DX}kq3Uww>u`R^lkiwP$IP&|SR zcecJcG@x2y){1U{mu5KXiI#CYz`#nkXS{a{0L6&bd7PMpT}c&u#_8WoX<^Ku>r>~U z*WSfGT{mQ3al(~N77|c>u5ZDXKMLhc@VjcSHrx`cT~N9dR&cw5IK|Iy8hBpAoK* zMW;ax>pkw6EwI)yQ5iT>SzPh!!BT*gfHD}yAwZ*`RJj>lY0o)=YWXdF!2UZz>Ogo! zSrVO9q0&6exwl@X$lNYXREE_?rb#u*Qe{SJ{k%Mn07Z#40RXpW@*sR{-e774oMb=_ zGet}kB2!SfcO*8;NY^Ewk%&3gSx{{Z*ECGMycz$Ut~s_VKQsN*=(s^TyfbW3i#Oej zHb<<@gZzW_X`JE7(j%TtvwAY#mYBq%Zdn?%9}f{{$+%32dPQ1vWAS&GOHp!Uc7B;7 zYhZW}lX79nDPX2qv8=)>D!oiI8J239I)l$9n`y(~w-AJabs!W8TVS21@SeyJ;lirQ zA?6WFd&CCjQK_q=N3~l-aRTl@3| zxo>HUfiRz+73rw~SM+sSuiKf#g{jNl$ys2FvEYSM15l{!met*FHtqhHC-$X^a#bMr5MN$w(aefy1<%gmG^23)C6b8F~$_#>LhnEhQ3Z@w3in_fwM_&Dr zfyTzL#&*HIJ@5j;>fDTm8v0i+w;iGcf8eA&O1g;`O*nRzpSr${GL3gwW=``&@!YCX ztWFto0{Wjv+>@Tr&%iNQ&%F!j`$-BHSd~&pzEFkb_!$ac>n>)jyjoXtNM#T_ZCdx@ zZ;>LMo846#+{dDvovKhFfM)ym zZM6Hpr}bkJ_}c^<2W7xgQb1?`Lu+l(n=?*vT$(Tw^Ql$a@78NjZ%Rf9DRkNZjrINP z^|uYw+s~U<$Zfa@6qscugEf&2k-#3#qkt0LfY&^L96=eT0(izR7=y1$WRH(dlpE!rU&`-$L6ITky8u9_R|->f8P>1iV3>x~ zu=`U^eMG91e5vh08VPgrvTkjp#uWFrVmNY1zO$D!QkAx7&YW`--+%q;ZdXJR$*9=4_MQKKjYwdI$00S*>ivAE~N!@&p*PW z$tu`f4iHoy${1xTW?$2bI4F&DnBgjz%r=g(Jv#qhOx~ci<<#&%ZGI`($f|$u!9t~IDM;0ADo&D+3_A)3A2GFx)6t2rDo^&(v9wjKSWiYZr7p=B6oZ%I+bya5#hM@bHCR}#|F$&RGQqd;r?Q+)l*(immE?>uvhDJKjr!)HP0rrCdD0}G2QBArW?`yMXq4_K6;sgouI64AP)10x-N4Lk%M~lz*x1}wR z4!ZJGq<5~B_Udj`iABrOxS{<Zqb%GXPIbl2h_!Y+UTmKB>@?0c{hBCe8#x+IYQQCh8)H4c%mh_2H>Tn3aH{LwMQ@ z=KJ&3w)%XGy97^#42J*?ZzGQ?V++oO#ak3&BTt2v7zy!W?;Q&33B?pR8)to8LHG4> zD`J(PwCYM4i^a@k)S!t>%khe2y2DGuf6g_ivw*kG2yQq$`L#xIB5V4y@y~2C)at3M zAt^yQAN%4>vgvbt+TSS}Pa1I{>H-aBi$M)ktVpqwU4u;+276|a6AQTMWzr=tTdo@8d zBSvHI%57Bd(b?aOXcfIq+9*DL-UP#g|$k$ zx+l0QbtDv1402Lyxu~xcqac=LMsK8d96WaTK;^~1TR_JL%NNt6C*~4@VeB2zq_5bozW1(VUoffBpZt_fyN)KjT)zGc`n%`{sL98l_r8Y*-9YKKABL^pNnigZl^=p1xkrh-Ow}4_cuV zqPfFzgeg2{0&Vs?VGH)1fs5dBJX5F^*;pc(-N45==7B6sMrmK;;1mWh4#1);F7aJ| zBf4(|wOGenr}P=6LV3%mBl)B?(mXx~RJ|<9z%Cz!Il6J+uUr_W!6r5PaR`qL*XF_-=h2qY6Qsyq(xLO@D~=a*5i_ zd@|QI{-DURK&&jo887cF!2$M32X$h(D+8S#skqedCnZd4&JZcFZ+s$UU@Z*DP%?7# zBaB=rJk3qB-fDzNN^qPT`Pcan!T01InL)&fl8!JdxCF9bzNyWO7ej-SAE^X$VNY#1rzr;u>a zv9)dUwoO%P?Xb+6q|T+)1ce3OnhVKQ{5MP}h^=;Z+Ox5cNMssRRF_m*NrN6CxUhTV zk%asw)J?NtBFQ-#kLV;$P(mkcuV^Qqr0`2z;*|3Tt+&}R#1>ejHzbx<&TG^=`~z*8 z_y0!>{2wr|jKHvfe6ycH5kqN->`^yIAC+Y3|47Np}Jf{LvcN&Bt4|Gso%G`n~9 z(Q(%HZD+A9ssP#OhR?05$_|}Os>I`?8{^c%sl&@|d^C;^E}5K*bv4R43)0A_TN+e> z#@AD4?Uu5bNs1C=6$)wuLKHjlnO*OCV*pe|B|K=Mh`b}3fyVmpBOH&3i?LVnHrv7z zF$_A-9uc)~Td!z%g;=*^ZN_mxG=SL!PlTimSU ziL)8}4DJN^I=tMW|8fMiICPOdGyOvK$S6G*NdXdw86F)Xa-a1%%_jjpOUU8*3*LL2Qg=v|QvbDcNZ~%kA6Z`4518tx9Ss$SR6P1H@k-D;# z`s>AjO$n3^-#-G2ki*o;fLq#fQUs}~0jGfx(joX5%_KKTS9^oBP2xUTO^`qVJpEW0 ztYBNN3Ov5>3EAi8r?`~okw?c^+_HNu+E2W|gOi}|M^DQ(GJO>OQ*eM4=wG}Z zDVe~xP`lv2PNeFMY-8Q_Wt$2ZM7OGbR+2faflKC2=Rn0p<&U{>e2q0 zI13Sv7EizH7^;i#U1%1b!xMeQ7xv-S1kzXHl)oE74XgOO`sqi@s#MH&a{675y0`LGfN~mgRzP9!D4h`nw@JY?)g#v{1K_I^+Z528oQ{WA_WQt1KkB@ylY z9%>@eK58Y}Bj-zCjC6_ah(u!JfWd9ShP=4C7j=#{Ahy$7P+m}MvC=G8oKvzg?X1RG z^VpcStxy$ea17F2gx}~IxA$57^-12xXy>-=$eaN;o8DH%n27|8GVQF?aGQ6GqRH#f zP_W7hn2J5VBzS}$8s35rO|90Sz2`djC<`&FE0~iRcWN%C_QYaW!{|s z>x~N4ZK)FMtn+!imWGfm>JbFb!UZku{L+rQAGf?T_V&k2Ji~fyj7{ z-=l^gvt|_TAXTAlLTYs zsibZi&|sk*WQqDd3pbT?FF~>V6>#Ezkfiy9^{#U_g!;@ezw8g0$H%m?2K`};4C;zc z5NDIP_%p`g7TydXypU`SN3f?ocD9Ap2lB8=SE$I->&j4z{D$3yi6z|u{@IpVN3_)#UX-P69K{Td@}bX3^5du zNHyABTEVKs=bgl8n@bjR?fVb27#J~U5&9YBPMOUbw~xt0BRH6WA~=LTep|T3 zXZM$kpcMHkqD&po?B4&DRfyR}`sd^Uzss08K-(8w_N9Hh1NxvRbqo0KdeGer3ti6p zExIgzi{_&L=`86M$N)u3YqoQLka*9u*C9iIjqviynv%I~3hX`tlnUU&g5hYOisfB) z@lh+Ib<}HR&*+~-^c`qnQ2&?#L9LUksz@?~;*_J4=g;G5oO?GVS6BQXrF)b=@CM*i z=i~Z#UDlWCYWm3V(D798Sb@$;TukPSq>=}yK;tz$7+_PiGvMFdNGpAZ(Pj%({8jr8 z+Z=njaxYwI$eO~b+PTB7V~#F+Z|q^G8CaeZbsIPDL0IjW#V$_sVw&&H`3*5>Z#Ojx$$tu_5(ej(mz5NupLv%;3~hv z6{Bu%zPiS@mPrKQenp@$p3~-F^m}&T4A~AjYRi?r!T~a17lmmDPT?kM|3+pP=goG;AvRI7^l^9yACsuL~1D1zFk- zuo4gp@M{xlmH7&ni+;ftmH;exekBe2E87i`#td85SvIS?5P^-qO6{<@9(#cOCHh2o z6!gMe>dR)uaY!q--oen=SM~iLQ;nTAXZO~(siyWDBIf)(A=)fZjrcJ=g18JSn{zK>hoYJ2Y_tLPT4@Mhapnuod^~dk%jVD}9=j zo+a~d^u8a|9B4}uSPts#h8UPU4FH$#~_dG-c9F~ol>__Pz0{SB_&0kqAePtaATfK; zn;uMlI_}}vIgfkT#piT=4erq)M`Rs6YxK8|QX=lyf5|%f@@pjBW%|y*>SwI1fSVQ> z>G&zvr_Qp90Euc^}n?-$z`G0YS=7kq|&jAGY((ZCOHYx zm&AdKwIseGJ`1a`SJ#Pp3p>#gj3sn#i}>AoiM5Ii7r~jmht0MOjjW9-4HI}w{e|u#<@`RDA?WGpLXqDqWDNqgQScAGc&qT7qM0{lu8q^7f^!)Y}o88v-D+_J%m-%*HTnIUS@@;Ko zh}8>zY5)$5dPy8h!6_|H$x8=ZHWxyAr0F`P5v%R?iWZpDpx}yO`Y1w|nY&d^f?MfH}VGuWo^3%Vi|AeV|1f>sa~C6XYowQ zz`XjgKtG%ay?(oF9}#wlgRm(0nF+2)NTk~|5nxBh|A3R|YMLgZesltttKJQeXk64V zbrrW5>Od7e>P|33>P@&Ogqw1Mj3CKDv}fc^yr+a9>LkWwV5MAPaiLnO$GSju_63(C z^(;6jF}RJ^mFd^1#mCfTxZFJ$8)V=wUu_uA7%&G$O?ShEZk}%FB8QZo6|Bl#WhIzv z3gBXuwPAO2fl=P?n(X-NXRC(;OQp{Xqccd|&=^;BkpLUWC6#sYzmH;x^9{DBoW&ZPT&-iHY{i+#}<2Dj%-46%*B1?pZye7tqY94@#9h%n0ldb zLAgm1E1gxYR+GzU^DHkHYBt*4Ds-tnHQ(s2YiCFd z(>2y|CPo3VkntnPSv{PDi#G$db%Dpw#&aT-H|JNegH(0miFHnxdVl|_DB&>w`IiRQ z_f@x~xzxh)Ej|d|#w>x)m-zQ>5=zX$Jx=53MNVhv&s!=R=oZ1U5d_?OR(AQ$7!*GD z0Ab-%$q4Rn*lqN$m|@C{v3WXxeu8c7&^PmO8kMkF_)poOgR#Y5ewG7WPg(fBhQjM> zfx5GTGH4(Q{^)|YT3&E2nocDbx?{&9??9+!zt|Z+h+N&x^`>Pnqggo2cGUP_x&EvP z!5SAx7wmr{A>8p!8bE#_)Q9N|7~h6j?i-vy+;5$qr3yD9Tpr^3yi&9N%Nf~QF-|xM zjQxjM22ObdbSuH4XoSu-X%v7PND^f1YvZeg?nldLdCn__L{%qX! zQsVhc_TqGD1H8Uf8L`jH+c(98We|A50J z3Oq{W2ElC|XDq82T6ZJ#l}Rfv?`Y{C{455`4Ct%n^rX9c!;KWD#M7mTN8JFEaM!< z5qbK4fa}rPk2E5-4>tfxDCugoX$&<5B?WlK(|qteVY>Wx2281^JQn6BZz45?bcXV= zJR!|kd3{0R{&rg24o=YisaFd5ww4iIz}6^JtDAi5x$~qMa}JX6NaQ$3f58nOr#!Y2 z_at$_uD-=yw?A^$%1OCGrw8S^BvwR&dZe6^{(?x1XXPD9b2oYgH^+#j6#myU&L+8s zNXI2NRu%WA*3RzY;_FN1{mw?}wdsSD6P*Ggl8aFvtvQto`ZgaGnj^SBE#`^9&P_t` zVU3L|0fUCtFSrW=(hhW>R{2osRQKeK+EkRF*h67E4-vP|w+p|M$maphc(ijY8}Mr` z7lb8j!pj);z_^bwHk13D+b!czpf| z2X4W{C}^E;p&h+^_q02^=V~vVKbf4rGwfDKvCrIT2iiw#eEu&ahitbdblxcUO9a1-*V4DZg z_qC1;IdF|XeC+{Mp#EtmXk33Zd+8x>i7T47DElCi82sAax9OW2M}C`{Ool!Bk)M91Xi zrIJZfBU7U-_s4j^e6DB2Lf`!1Yr@+RDOk!xBozeZt*>3>d)a>yATg_rSt+rUniz<^ zL8iq~Pr^%dZ=M5fD-_!C0L7Y4BO$u>UcH=A?klu{+dXU_GC|C?C@g={_x5n$@_e1L zMMSCK(c-3D2j!8im=E#$ zZRvikzlw|!uG)6Z{rT9mlV&ozpJR#XK-n<5Y6N_&KEeTkRN02#zmSF+(;KeuFnLe! zE7WUUh3v5}ASvP%=&_sk`b!f;oSe2yI0o(}SX`hMAYa^DW$N_XN42$@5AO_L=N}XY z#$wIzDws+SGAkUle0Ihj<#jL-?=O$#sAQuLp>^cHk*_sJoUCrJ70EDmQ_?D5GfCqk zI@o%c`hE>E&~%yl%8=_6icUPO7d>UKF2ubOm+l^#iE2ZcrfeOt2B`YToNS0@F$A?&B%J zOsffyD&3n=r9cX~wF(CMhIX)$7MRTrj0vW7caeZh#?HwfS-!x|spOdF*Gd;@p_yWh zD#h9i<-qeQs*sCj;W863S0^$lvzYF)CEe+F;qB_|`Ffe?=io7JWA5QInv!iU^(w)u zvkH>RsEL^^Y4)v?xk9;X`ml;+4{ngUf9iACv>|TG$S^Z<4X=M7T2s+%#yXU6YE%XH z^VBiJ(NG;dxoAX8Y2!GFCm5!`u|P~9(WO{FF-wU3^RFk79|JNV@N|mRn+$I-Un&C# z>q=CFfDP%fzwli>>pqrLn&wawiK+5HVqnoCRV}@#`1jl)t>jvunB}4N0p}eT-nO@U zst7I56R=k}WM$u@zSgqMF?Mg9b(2mbAmR^tLJRFBq#^qNrqbBd+1j@GB%(17?BUDb&a>wdm7FAb*dJo zm{+ppg~ZXzD&yKmbmm$P>BEmt>F&9&TxJ$HB!eh_T(=hgrn&WTW8e(eDdUCAiduB- z7Ce{|ZXLk5BjKZzTw;A-&0(q3tG^OqSdp}7{7m{j|xT52;kf8AT<-={I7?84s(6s~S_tM|@ zO_Fq)mrD7GPV(%YEuqb2xP=xi-r)=szo#C=oqoii+P=WE5Mu5RXewX?!HyZLk*@We zX#huC#1b$4KDDQjY|!v73M3Yd;h1|0jX8wS_eEV_kMTTO9DxFVTwzPf!FRK6ry@&h zSjU9i7_XhM;XpC6%5RbqCFt)`UV4A2awp)j$}Y+%Rwk*YABK%grjY+kkWj3s03Da` z8})UkikeOC)=&zGdntj;$#VaFGXAGmm0!RB(`6uoJmlpYGPXUVX(VVIunZ~4tc0-w zkrMdtIi*9-hAcEJs3<}CLZyl!g7es3OWmmO~LpJvgovCi2Cb2~&hC5t2!J*Lu7pSlBkg zm%!WWS4sV2Ujk*k6-^)se}DbDO#Kch`wjcXR9q*hODS}#VA*eX!yDZh8;+r{80kcn zZX&El?`l^)dCX7hgYup#Mf7D&FI4E-vDsNKsBJBnt&&CUB}_g>=StYKzqmn`rfUbV zi0GOoGA|agW%a1ejAfwTcE%sci2C48kcu|~mNcf8Cu^nj>0vxg4KcMO(-dff4K`!3 zxCM1TNPiAmN;32R^Z6atfdtI`Jwi(ZCw);%xFQXsF;9QNI4-@bIemcWVRZk}xBe({ zt{y4=7>(MLl&aEaRGW7r=7)C16E_J|^ymS=kH)vK|GJiL(V|I^8)OzNq=+6B7;O;+ zOq7KT62TIvw}-6MnKKv`SRrXxHzyT`=aLZE%0Q`_Y+di-40SD0lumj93{p?k@7qS#vtpLM(v@((SSZXp0+gj>!j}kL5aS)eybl()foVeiq@#H3MMC|qmqNoB zv;HCfLOP8DGet$fngyPoGrzBUbE`T0#eIrxltMsE`v-ofj{qw0bklp*L)$vzc9f86 zfl0J-#&=?w9#z;vR$4Ki7W7xjTVvI4GUd!F@66V&ByBBWAdVM{XKT z+^6_Od*}&CtS2BVGO~x^!IVe-GhxO^kJ@kWQ~Id)Tb6Qe{1UWGIm#@@aP%3yLU3 zziY6<_NDoS{^(s3fRtqugi6YZ8?+!rgcxR%ViB8nnj5kc7o2%UPQ|9gf1w>GK&4@zcjAdS0|0i@I9-CN5T-giOdtYK~tKPF*uNpJLT#?Olcf z8~W2%H-fJ&2)+~@{`#jO2%`AA)st$*H3YTd;+DuaV$Ng$O)vS9Xs>! zE_kQb&X4jSgm=#*WB}jay;^N5R=yWXoCPw~rCRmEMt%2P2XvZlsSlarq0is)@Zmhw zX5TBz68rBc2J0laWas`~J`^|y7T0+`YfQyYCUv#jDYn8ACW#^)VWrfXY$5i}b^$8L zk~o->48D-Lllg{i1`r2-i<`N*?=-5^^%+U0FW9n}u13p|nk-52J`d!F0vlB$nF3%jYP|UKI|#R)hca0WXM% z(MFN$UI69iTis$;ynS7*eZI7T{pafW@^ros0f!vY?v+-ysvI)oCZTS>e#Ure4Bn+K zdVXmT2!8r6?-go2n4el7El{ZL9GZn@$R!zG8tO@5$I;>je4^v(!f{w_nKrEH z5J*SD5T$h9+Fw6kxy$PEKOf)yebIaYwd<@ag0h3e%RDVok;M$|+3oL63bY>k=*$sm zi{i4hlS9-G5Cc79c#gKU1K*$=zg?MMGmlCg^+`8|j2&aLwtf~AA0VZq>w3sgI^b%` z=~iz`9B=+YAw4HR8BVr*hMm-2<#e&lv0a8E>_-mM3f(Fk6I85?%_T{Io#pHlhZFG6 zs^t;!?YErA?-^A{h&;iesYsqFITzf|Okp(G#cFAs&tFJ2i_T$q6$pXT$t(-QU2#B}PWNSwMv=dnvERR5kRZ>Ud>6G2WLo+qzjX(v)~+ z-8#=Y&Y{9)(X^*S&|fc zNwdc-PTWXi_B9)}&)F)AjU3kP3D!vl?w+utz*jnH$obSxi7g#zow(!atm`QIfH2RW}^>jUS*xayh znsdi>L!~3f*EPirWs+}RxEr;?bqSBCb-V5sgTD*;IhAK9`6fh1y+ozqU3{`gaOuNF zv`+>7SQfV;R(APGT1cj~sMxnu-Ij={u5m2I#0anVp@`%tDvdLRPzY*;M`aG4SV(oe zOdY#7Sr{_#ew%G7^~4*cK5!8o%#zCxrSP*CE5a1VM(f#hVw+vvJAxn6#LmK5pz`@& z!6Y4ej@lWJ6`E@5f27Z*1sH!hQOd zp{u{RO5d(Zas6VIk1buA5qKN7>Uz$zahL7*d+kEb;N>vA5DI4$+`0$~YW}fff8!-N z=*#iW`89T9+mknSWA@S)6*SaKd__gbyS|VRC1iUa73=30ANFm#m;aeqP$kYZ zBYs;a;nVJ68Y7W>2d_m06G_0$*D^_A<=x{$Tmceqn|`G@8XHO>64kOOEEuy4UfI~aNDnH_0nU7l}DjBp~29}X8cdINFE=%!-F3Z;}(m10> zA}LqUt|XFm<55>otuM~_v1eSEMHFwIL9aRMi;#R8@~Q|e>X}Z)w(5oG^av|C@Gsb3^XbkNG?>j~ zS4w1V5gaK}N}C`j%b)hxV}e3;T$pRb&YWE7wJq4T@@a^&V0-?n)tys)lC=H0RUowu zTK^9J@{)bH`-*NuaXy`Kf7V_5?5wt(Xc(LyX4qM!)P2%i;J&r2E7(V?eiEl zCSvUK`YVKNe7zd>lH6*U4fbNxCOjiwwdB)h$DFv^zVWzyKbC8g&3oopGnkCT^(;yK zavHwmcp?UJt{1SIj(ADVm!huK*`%SfOzJ!-$WEEbrE0uBvu!rf#mdif5^Ly1apW*1 zy~)wL2KtC5@&7UX;hrUL?%!zxp* z5bdt3Ln#Li$kGV5?x5&y6HkQL7j_ND z0dr;Wub9#z^5kRAi%Og?-qr|e7NypYn}uG-a*R>xI1HR{n%0ro0yza%4%3&0XErir z@S3e!ioVI5qk>Da)z}YW=8 z?8HIbawmAYo5Y6d(&$oD$a72pDzcmyu_}!~lv0c8$}GUlVP^xqbHM7U1$t0=g7x8< zc_^Q{_%m~XwiYir!AXNj8JUYlvQ8&U#VDG%O)-gB6>5IV%#ZqoV=6m6lh7xxFO!iJ zCdZxA_)&E%4Sfb0dedFOGQygu+Ml0IPU}IR`E>iz%gkqXEotQU{EU5q3N3TJg=>r| z;q_;m&7wsHNp-g@LRa9slYNi+h%q$0cOlfP^;|ngO3?yA`Qf@pDZLx(3vl#$(awh?un7tP=7X>`c(94@!9tz85G@m`DElG3*p;%cMesSPYUX^)yvb}srbM7GTgA%}gXH~ZlUvtVvL8ja@ zyogRPLx(%NHa8dA7i_I9u$7-~|AjZItW;g|qQz`*;MP3i(ge3xQ9al3}Qxu)g*17~F4j9s0ZuNg=dAUK<1pT+@@7Ciym zu1)cE?{1Mdj# zYyFnup9X45yO-mi)Cas}cZw4#`&{#;;;W^8#P|MGCsMJIJhGK5@^Y>~vzp~n z?|BFZab}IeCC5VwX&j9>NP%{xb^m8}XDUZ9&0Qqnk@n5GKK5QHKcnIlMB5(I_mT}r zk#Q;5=_iUY*sh}p+*o5;52Va}Zezu#7Mv*dKib`NTO|yryWzhDGJScZ@Jt-u^uMi! zN**lrr0EP~X%Th1$#f23EXQ7C=@OwO-ndX0euIlt!)GXyp|24D>L8-^%0g3U+^%1( z?pj^qi@-76=9}wF?diX@4%ulmio%px*GCM{-Zx*hMjouj|_h-8~=nY3#+rJtl@yWud%)HTA`zz3q$Ps%7YoDT2xtnaC`6_3tym>3i(6L*?%A zn7hV7Fps9%{O&Rsq@Zk_ZrtO6`~D@x_RGmToQL7wB=8wABaZyG0ssC>bqHDZJhZ#W z?Mx96dk5$_>-OQ}sS9SMJMuV{03XwXdPHu;*SLV$uHUsU`sT!?xdmy$WEow3DXrx> z8}^iosnO-td;;=|DqcGW{at+1rlmB5@whP!AIZz0a2AtjKx_ob0XYtHeA(M6z77%D z&^R8mdt11v!#@b4Zf_ir%UqG!@34mg{QJ!-T~IdhhvzKbqn&3xW*_wlxzC730>7w2z^k;r>`Q+7TV33Z8C(1E0ms1f z_Ti|XKNX8?JyhBY$i=>{{5D*bu8O|pKPkOr|Jr|Qd-^5M{q#sDqFSSptI{s8)N3ubQJ zC8f}zAKh<0XJbsrApY#3%7#9z%E8$$SCn8qI$*&*-M z{f?kXKNTq1t$tRy@vBXRE_}3i=RIqH>V3*5lCtCub$~1PzJ?mnXU_2Nrq&_>nPt;B z%(J92NJ^l3v6iqW!|m14D}$G-{fR=FAFjCLV}*DZ2rerUdCltlAz8+|h@nO(#xlPU zey-4#n<1#`(uOI2KMCYIBphJx7V#DzM}pnxzxFY7pW+I~hu@pdtFEy^XM0y*1XI6^ zb#j^l-I_YuEt2JgP8H93NPZO g*deErS@4UrK<)vcGA2Rx+H;t2P44+yIZ$Lf#N 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 Date: Thu, 1 Nov 2018 19:07:17 -0700 Subject: [PATCH 056/155] Kotlin-dsl syntax updates. --- build.gradle.kts | 2 +- examples/annotation-processor/kotlin/build.gradle.kts | 4 +--- examples/kotlin/build.gradle.kts | 7 +++---- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 9e013a1..2e6ee05 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -56,7 +56,7 @@ tasks { } } - val check by getting { + "check" { dependsOn("ktlintCheck") } } diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index e6816c5..9da3401 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -1,5 +1,3 @@ -import net.thauvin.erik.gradle.semver.SemverConfig - plugins { kotlin("jvm") version "1.2.50" application @@ -32,7 +30,7 @@ application { mainClassName = "com.example.Main" } -configure { +semver { // properties = "example.properties" // keysPrefix = "example." // preReleaseKey = "release" diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 5684c07..9316591 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -1,4 +1,3 @@ -import net.thauvin.erik.gradle.semver.SemverConfig import net.thauvin.erik.gradle.semver.SemverIncrementBuildMetaTask import java.lang.String.format import java.time.LocalDateTime @@ -31,7 +30,7 @@ application { mainClassName = "com.example.MainKt" } -configure { +semver { // properties = "example.properties" // keysPrefix = "example." // preReleaseKey = "release" @@ -43,14 +42,14 @@ tasks { useTestNG() } - val incrementBuildMeta by getting(SemverIncrementBuildMetaTask::class) { + "incrementBuildMeta"(SemverIncrementBuildMetaTask::class) { doFirst { // buildMeta = format("%03d", buildMeta.toInt() + 1) buildMeta = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")) } } - val run by getting(JavaExec::class) { + "run"(JavaExec::class) { doFirst { println("Version: $version") } From 03cc2d5351d54e2272cf3ca09a023f38a457de31 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 3 Nov 2018 20:17:01 -0700 Subject: [PATCH 057/155] Updated deps. --- .idea/modules/ap-examples-kotlin_main.iml | 1 - .idea/modules/examples-kotlin_test.iml | 2 +- .idea/modules/semver_main.iml | 132 +++++++++--------- .idea/modules/semver_test.iml | 110 +++++++-------- .../java/example.properties | 4 +- .../java/version.properties | 2 +- .../kotlin/build.gradle.kts | 4 +- .../src/main/kotlin/com/example/Main.kt | 2 +- .../kotlin/version.properties | 6 +- examples/java/version.properties | 2 +- examples/kotlin/build.gradle.kts | 2 +- examples/kotlin/example.properties | 6 +- examples/kotlin/version.properties | 4 +- 13 files changed, 138 insertions(+), 139 deletions(-) diff --git a/.idea/modules/ap-examples-kotlin_main.iml b/.idea/modules/ap-examples-kotlin_main.iml index 4558e87..ec84d97 100644 --- a/.idea/modules/ap-examples-kotlin_main.iml +++ b/.idea/modules/ap-examples-kotlin_main.iml @@ -34,7 +34,6 @@ - diff --git a/.idea/modules/examples-kotlin_test.iml b/.idea/modules/examples-kotlin_test.iml index ce9500d..0abc128 100644 --- a/.idea/modules/examples-kotlin_test.iml +++ b/.idea/modules/examples-kotlin_test.iml @@ -11,7 +11,7 @@

d1ZzV`PJaf;LURr$w8USfDLW+{$cK=5Uq0( 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�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 V;3?$)Jo1M@amx&F&%^&5`+o%ZZcYFI diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties index e0b3fb8..75b8c7c 100644 --- a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/java/gradlew b/examples/annotation-processor/java/gradlew index cccdd3d..af6708f 100755 --- a/examples/annotation-processor/java/gradlew +++ b/examples/annotation-processor/java/gradlew @@ -28,7 +28,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/examples/annotation-processor/java/gradlew.bat b/examples/annotation-processor/java/gradlew.bat index f955316..6d57edc 100644 --- a/examples/annotation-processor/java/gradlew.bat +++ b/examples/annotation-processor/java/gradlew.bat @@ -14,7 +14,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index 458e465..d12ed01 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Thu Nov 01 18:54:51 PDT 2018 +#Tue Nov 27 19:16:37 PST 2018 version.buildmeta= version.major=2 version.minor=1 diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.jar b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.jar index 29953ea141f55e3b8fc691d31b5ca8816d89fa87..457aad0d98108420a977756b7145c93c8910b076 100644 GIT binary patch delta 46476 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

d1ZzV`PJaf;LURr$w8USfDLW+{$cK=5Uq0( z=^nf5=Jw|RukO3MmScw+w^w%A7N4pm}Es< zrajhU6$ZI};S6NOzL7rURYXx(xH;{hg{BdGzdVpU;bJ(tW#3MlqF@7i3jRS2bD^mO zzude5c&NMp#yJTzz$p-cGM9Lzk9ZSVC>!DJ8FFPA=uu+CEB2*-UNpI9saewnEHh|T zUJ(KPya!6}QrhCNJXVAfNr5+je`!!Wmx6~)<{ z;zHrzVvy>5V2_X0K*lLGe!R56V>!e)J5B{j6_bc9X-WGXVI}G8z!hYhj1_y2GoZ6j z_2tk$CL|-gjk&c=+$~}U@X}omFed|nS`KKeSNpm9xPVHiu@VAks$wZ4f5|eA_Rt?9 zLW<|2)GP!R3`j{eN+?K{Mg>O{`LAGdNe9!zo9s=1{)|RnX>`47=;k?9w!K|^-wLEO zd&|%%MWNoqCF46N ze}|fT5$_!ydC&tuj`O4rLgA^j--H3<@m>lx{SI*J37dYYAvMf82hbV{4WYsGCYq;h zVF&ObY8%F)UUc-%q%hDJwstg|v%@t^650!5XfB6arW-o64JCG1&l|U-)n*Ci?U=ph z#mz*R82HRTV#_?M;ItdD|1)oae%ktHa@e{Gw!TJIv`Y-Y0EZIQKCvr2NNXCTM-MY` zY4D~|Sf~&rJm)A<#-EKtoox>;P7@)Tre89dUc{+4snu+*q^Xy8fw=p7z`TMq^OH{^ z(b_=hjaOrm?o#_#aJi;nDxn$|*HEFV-D6h_7Db=Nmzz|S7i@qDMA?^+7lRM&{E}xYP>Jf0=sAu*a-I(pkN^!P1tAl&pkR|r(Q%l5Un>W zLy@F1jfT+~@ksBI!t9HV3<1@@NLGlPRMMKav9p#Zl8j{6edcHtj|t#OZ<#=GOFT8K&!UlzYwP~X6G z{rPqR`??4gPDrf8uR*THZ$Tzgtje+cd|7}e#uS4*LHDN950^cF7%E>XgBY*~_lX1? zyp?c`o1TCOg$+mw3z1@=F%o&<$C%zAhGBj7(uCQysOKL|S0|G0*;u{a4~POtz?S0rWh z&4i*X<}{tq2J>941445_tj30%$_)+LL7kZ;)NqJ-BkA8oY4mA!2-mJ3zdK%vI&Sc3 z{glbuv!WRIQ!K3`xx<1eI<*6d{aUg*Cv zEk*E>HSB-cLZ9ZLZ-wo^(~1CYplBlml4`L9FflOFBVGH==r+fo%tgdKAXNJ@tHXm3 z`pVcx!+Md0bT+z3!KFk6f@uU;@0)Cnpb$BWs!Em@|IRK&Eo7R+NSbBM*K;h=YNQ8l zCKVeN7Umw+m2#}lIj+w3cjT6+G_{l+Uc73$>#QBjW3nv>`cY<-KMw&A_e_ZMQRb4b z*og=!Ij^_rA7mplGP{Z&Yr>pb1lB5sWQeiEQV$j&4uKmGRn&>XqgI+ z8`OtG_ifqp4{2yB*EB>0$5a2!U-ly!*k`{=Xx1+n3t?UA#=>K>F{O*6=$nL>kEgTH zO$GLwXt1FEl|r+0tsew9^+T>vaWZwBugWSP4cF7;w$B00pJSFDTLzppOs-nIoi(Jp zR*jL5wa^l@>VwAl*{RfqM~Z0QQ6cP@JV$qcI~2{NSBB!(HbESc+$v%)EBB|B-z zE%)5RQdIKtVLWgd;@d4gJ9>1Z8eKCm56bHu@vxMQL31X`SI-0BTkuvNGR|w{=9s9D z|Lw@VQ>;W#h)zZXes^=mDae9Vbz@hIXsd-0!8m8=r?-7UnnAucJ-5D%F2X4M$Htr; zo;UC3pli=@daf0uDwl-i+LBC%WwB}25$-{VLv;J?cR1rQMXh0eSwO2%)-Gx(pF_D4 zgGKDU+GpNaBS-~+YBCIo%z(1dZ}!(VI2ncoyWVZ`e`d(v0r4Wwt#5;28GV+51NO1N`f7`CV}Ja5A>hD4QhEW^sl~Y z^ylh(m@+La>APJ$q|!+L60zKle3T)BGM#6o389BR|HTP-gD#R)0X?41<{=;`@C@HX zkyiVyS8B}YA=)lc-kZs!{G>HXGAoPHSZvH9B&2<-p)IiM*JeH2qAt{=zGkqDp+QSE zGQL7e@-R63eQp4~saJhNaZ~TO!3@(zNKW3d>sf1|vwXw--O_w}o&%=POIgFK1=fNG zKXA9?`9cIh!cIFp!bZuwpF;W|$@-MNx*P^t4$%7aBL(Himf#Lfbo1|d9X9g_)!P$e z<`b537n7|bAlCQz#?&C$7*v7MhwLU~On8Cp^|O%T1_8lDTn zb26mz)(MjTa7tV#VbLKTmGz*HjL;$coe@a)fr<$L#y01Io!QnOgF2p@f+!3~Y=?In zi%mCr7-c8EkAMImR3P7!|HT|k#WD$}vhP%Xc?-yob*Q6cedg3jyvfjBCy8BdaYYx? zie+Q}%|0GhARgsw?x5E<<-$ithFx+MpNy7Mi3~9~9hEy#!xA-<$V9U)+vyfgeCyY%#)uM<^y2i&gj* zjQ<&hn}%2R>o&U8X7fmrzNz_|)_{5Go~92lI+YbO)1HbAZ^LsF=~_>y$1UJ53V}r; z4o5)@Lneu@6Xl`ZFPKhT4jkLETb#Wxh?cJ&KCGu4Ah7^oI_vG1$^vm(=`?V zpY{cwixOcSd!S&rOdm}_78H+A1L+p=TI(iv6u0zgG32DouSGa?+?im?!~WHi!=t+_ zg~{1N-QakseM8yXy>QAn?#`n+RO>Sw{f}-O$FY5?s{nHfE5oloF=yy(83NL!nk0j? z&dVvoR5HivIKku?Nrvg>)c0a}AN2t;**;J8t-OXE@rZBW{|k5fxD2l@{K=af{=DP~ zv$4bpJ06ID#-G(hZK0L{I=SQ!;r?Wym-3o(pz&wBT5dpaBt(c=SY%gir924$20^?pQ;H3_zyQ(UAk^)dOHB$+~pD7 z3yd>g;3!F~fR{ud;605%+ZFbOCM_FS*0@e z5Ymo->0&SxF*ZYvT%CM0Ui6}+LkmTk!VK3^OO%nxl#Pgie1WlfQa zh3TcxR-LT%*P<>fSiC+nJRrvoXUf4g!;J%^kBOt7{qgRNm!WFbHxHg-7@9eliKal* z2z;z#YNzauLjqHuCPSrGn!guH%A|Fjrm7kJU2SzFvPXGyGLF&2%b|>_Q8mDIy3WN( z$X}ONF*$?6$6fJ+9oM_C0qY*G@d{YM%P zWZNM#r+p0A5h_%p{DXWW9YrcS_gb1qMMgS$a3a~NEX0sgHkQ|WUjDLObv8_7hg>0R zG&~PABF>Lk+1wT-YWA?Btz*PB1aEMgCpA5(=X;p`iAgt`ev{@XDHyhBhFmky^Gw z@A+Si&$^3R3nHqo6}XHQ>LhgtL`L&w7-#U)=I9RU+UOsFP0}$T0WySMoW4{1D!dCe zLhMEYzg2Yyb}>c2{!5se0GI^>C~{UElkn?|y%Rz^6D0+%-~QnQHpeaNLnpn)Yht5T zAUs1FVU7V$8N86LV8SDEY>Fo#Zb60g!goNIa0FYn6p?S-sYN{J319zJE($S(^Yeb3 zF46>9059Nw%&l)vnob9rh7x>URZu@FJKu1^A>kVWVicKJQ8)d%22+mCtF+797laSm zu2^A`*#Wqn5XLE;X@|LZ5X1C~sfnpC6BAdP_xt5$JRlSMb>C!IGyE_K z5TzO?>GM?mk-r@tSrHba2(10`qX{hKr0$E2m4NVbHMv%+mBm8uY_Q-395MDU?clgt zx93|%A&1d&MDAi3s`W=1P2T+sT6NjP4k*`gElx?eC<(y0Ila+!=Y#d@LDaRIVClHv zio@t(RIp5$Gra?`No*i?^i^@iz4MpPyv}3mLxyPZSM40tSF$E88jIy(N^}WLq%A#h z3!tL(U=0<+gBwBMB-QxDa%{4s;Y8`@8fpZ`U=VF~NagrC=+%_Fb}x)?(dcVTuU5(W z_BJohNy|`;w-0C7(A1xI#-(VHUz^Pp zq6^C22L_Lm$0;2nD#Z^CK$z^{__btaDDIxn+U<3Th&KiUBit zg2!emIvRV15lMttD-jSvmJB~^U0C!0b~HxZdD!si4Oimjh$BoD!OB_qgiFf%*5qL0EtjaI!sTNFlm*uLgpw3N%6<9Qkh$dvJ2I<1OKaYwH%B2nR z)NF!aREaQ3H?mW}fDIQFP@%&zVsb&c=oDrEOSh3_4e{P_3f-?3ygf77#~t|tAIv}e zHZuSovi-l^u3&h0=hx50Oa^qqR4iG7r9TefTyb3#`D+Qaf+%93B{i_A0G8#KSMNr= zUIsB(x~9FI23Z4X=cu4PiWLXZxQtG2%uMqSDw2R=zTlg4zWHRkONfhyibKyJK$?{4 zGk=rk{WQ~-FN=p0@b!KU4dm#CZwL`Vb`lqd&`T&L8yrZ2p{@nH2UX?ZMT|O*O$7{i zs)fN=X0Q5f7qDLxsre#21hm9{$JnQKOm4TKf70B|gjtIbTu_#`> zWXZC)F@{y-Bi4x7mPGUruaEhJ5{#9wb+e2R?Oy&TC1Xu5R^?oiv!6m=&30+5%~_R3 zbrf-GnWeEUS0h-hIWj(H9A14EZ-EBz*{08OVNkzuH=47-D6^?iSr!#6TO%SDUt1M@ zQXpWBwm51}O2VE-Eimmq4=~r>AO_ z9ZzI?gxwzKt=2#x&<^2yb8-GHN7#zw8ju_WGVWCE_lynKB%y3J$WED|6$uZBRI^-f zUKE=eJ|t(f>Q3soasSRaa)Nw$<^_|Asi4h=91nenMZABMDM1P zpwqhJnqS6({Bhle_bFA=@~YpPfhJ%(xHDXwgG1!BGQ4_e&Z13oZNp7trw!GwEDm2d zFN{}~na7G+*@Mxpdd0oEPsA!W$691Y0Z~AQMK38+cFNfG;*w!g(&+@O+pL+!BESrJ z>eq}4c!0x|ybG}@Zwa27)2(z`V0vUhCOJw@rc2ftwcT_88WcSXx#kYF5w5S<$op}> zA+PcJzDaEE*mV#JuP6m&Frb5k-HX%kcoi;tZ)huR=GNr$5#>IBb-Cj<{JzOF-fwVu zVo`J*Uufa_D7E-LiaQ0n?k943jV)fZ%J4 zw}k0l?-v}u3TDDjKlNp=J+VMnf)vCCm?6k&?#)4d3NOXCKgE(?e{V4axzN2@BkUwP z;xOZM2)5nNuq9`Bpk?0vqqPf<><4qZcMt*V`PGKN3BsBaMP^4r z@EM^*61-v(|B#DHon^RwKYj*ahYTQ~L-`43TH`eHtA&YPoeV!co})#tW+Jg)2|fWk zS|rMG`EeZKfDKyxLd&Fcn!UA$#G7dmw18D;_DZH^z#Jx-l`)OWDRLKWfda#CJ5>(V z;fPodjF@>TJ?JM?W%i*N{cqd5fwEjf=BLeF|I`Z6|EOZxMG`=vlJ4zHbnENLit46e#p2s5v%R#(A)$NIR|aO$-NzC<(d?y-=)?7{?d2 z1)C6@Nc8gx0bZ|OGusIsVi)e26wUt8H!eXcN13Gcvs5UEM_7c3GJJ_XC4|nz>v1YR z)d&x8L8uBjkh1g7g*I-4FeGT)=3s5dPYov?bC+&o##Xv7+VhWvGr0>%2#L=An_+U? zLvs%2{MeAoNIugtv5&jbjiW5R`USv%{u2z~Ol{jbKwZ_^HW~af@_O7!hYu;N((G|t z=L%PBRtaxrDXaBHOfONP%|g`uQiikOq3%rJZPVE+Atw5*CLrAeo?`m*aAm1x$GV8J zA;9lyq-V`GWZ`xxwzR<*`1{)l;Ct2aA`HK8K_na^B7c)m zy6D;nKxX#z!7nwRP4C^C!9Zv90VAV^E;4Pi@)2Z@0&rAU8zST7@N(cl9M-zzsc`M6 zl|Nvyjeh`3ala-8lFpfkiwrWaHE~KdbT@tkO}lJu9+||+@P10IPfIPef`349=M?el z>dnPtu%s!KR-d%NWU?=2th$@p!@$<+cRot9k|E_h+?zAJ0uWt(`(86*M>HnMja1%U zgTC%}hmw6$hu z140+|3HpDV6Zi=uBshYhAvkbnH} zAa}A`vVA>qVH2;tGJyAaIQ8sv{p{R5-TuC~4EV(Im6Z;e0d0&-{v-%QNPveU0E%J& z#N5X37>A-|rGQ8SYSRi^J}k6wSWC?a7g0{g8xf}_X(i^&3~3ABY%0h{1iA*b z&KdDf21hx8qRUw1z?ZYEsTiAQ6?fJ;WNPf~F)){tA_8=Il56YYGNCNa?D={VFu0dV zuvvB9@-@i=o$66Je4>dbE{gteeqMG z@2}`YYC5(&P1Z9nW6u_1$(DYqVX*09rkM?;6~B+lo%INFTcxmt8WXmkCzfOXV#CT` z$TAG~q}DyqWO)4xy=>0CZ5xVVfM8>03F}oX1u#xj#8NABF30*`F3*I$p`zcL;|Ry% ziiUJaEfms8dYnS(jq`Lo?gM{JJu(vXIA)*f1^Y4(x8iS_dcM2h)YVfxIx|{D_HjBY zjtdh~{&ZL!9J11WgN5d{JY-N%6j5oq$7}IBI^FhvyF}bmftOjrx-{4Wqx|(E816O|p-v`Xf4qh|qsn#uL!<@V= z8@atwJxae5vKUVZMOkhEQfJhf0qd;m6<^NaNZs}x4y&!;5CS&J%7!)h+D)hk8bA=H#Ajv!1A|b2O9m z*`$z!HqH9|uRwJ2+Mpy-iJfMb2jhA_GLmnnBogi>HX@EpI>1u< zZvecRy0kNNg{GQjesWf2osL-j-{A%`Nwg{pzu-RWnQMZDOmmt-HMsJHa<;=XPEVqH z=x}g_fBK3^wg$B~1t!Fq1gffZlOe6uh=S#}FWgrRnCVza%(86>5{}eN3T7XYZJj~q z&u!+1n@W1uz?pGefM~R{9tRfGd8>At&mq{eAs*cxW__j^yQ#HDv~8s=)gV>(SXQKzn9Fo`1oe!#%I|H!Op?yMTEsi7M@ zXQn!f{xh9Ygd~RDpVED-RTtCgD#ax0y^sUKuN{K6ZxaQDn_GK|@L!?RozNQ2&w5JV zWV?If@IC{~!QBW57}?(ir-+=8KQ&R8O1f+-dbs%(st(eFe=FUaF81A(Zs0j z%_YWgp-Qm>=5=4*6-cHtB)t69FEgD2jm12U0pv}9+!U*ISvw#R%Vqcu5QObD??9x7 zN;2@Zh&8n|CSaJ zVlG7i9@;Xyq-ZN>>{%|o=}z)XM{r{>+UVXiOf6}PDhPHFJ;g07Ya5(FZA{xA%ScLm zLUE&Wo3TZfp>+bnYi>sw-|*;ToQ(-Ku=bEt1IA;+auj9Ry9&1)Lj!0Jf4_f|4y3S? zeg#SGZNCV51p&gTs=E6Q5}GNXT@^AT?8CSLuHD(Cs$O_5yUHKvpFXG+MH6k|IEXH~ zB58p?8*tXjW3_jRph&m&L&o!J#Ia-T9HlH}a*B*F_dYseI}g)qCiBOMvm&$QU!l-2 zAE3pD0=m>0pWeWT_X(PP(LK;(S`NQT%JuQqv{Dik3tuF=&i1I?Nib5L0>eq9k@lSMFQEOhw)x;hJ}IGSef1A!pH zT^4tDw*bN2-GT>qXVJxVad!(&g1fuB2KQhI5Fq5+H}`(`d3oj>&Y83Px_hOjr>Cpx zU!MCk{rQxrWJ~R2ZSSAX0>&^H<5tj81lYFWH(f4?4^0BUPzorJL<%hCPF4@H4_}qm zM&94iKj~xqQc+9e=-+oX!2h9HM$J1poVu1YOUc7oN$?hwpp~}%)-9WZEuQ@i4ikP$ zg#6p@CPHzNpkFVk5vGq+zb%02!rpHPXndMOOi%Iq5eakZHh#m+{kCyjEk#lv%k|QC z>&B@rr56Gzuv(cPU!)Y@6AH_IBBZj3C`X(fWwTM1iJk#6Oy8l8;ssE&Nqh>O5Ia=8 z+317vMaz-RE@+(X0a(cfv(hsaZS%*3%?zSf9=vOh@VC9?YC~(Jc@#z#U#h(HY?nj3$VETC+*aqljY3appEMmgH`I-jH!j%H{!VB^Q zT@;!MMm^#P3{X^YjL}q+_s;%Y%%=!G1;aj_?#1-5^^}OIx8RDCBw27-uaK-v6_{rd z<9P7c%{g`?)$DK)~%e3#-kW3ONdQ(L2`2j zI{7e1DrVRiJeM_mVk$<=48r0N;lK>o3XF8+5oTIqs=e-@&>gNU;6_af)4KUcDnONW z0j`#NB6zkANx9W&a_y9K0#jna*QT{KgX9?1;3+@h*kZh?Ll7D5w)e{9*EN!a`C^4? zgY3zQHTUOIuc6NFcP}m75}tBfAD=RCQb_)LSAhGd5QSq?^{I=~r%A0@DRZjsiN%gY?Si`K|8` zl~>e3qri&l;C5uQUf0|#`)TJ17qqr)L_)t)!rDcWj%(Q3E2;74adXYKinfJ{oeegH z<;ls(8DW*Jd*&6;(>R3s-?#RfkIoeZ-ZZ=QcHYl-KC|B#7a)%^d6pzhdgs|!{N69Ds zS;>a#*qaBlFg=bD)_LzeP;w`uui*04sF@PY^P}Trw%E+C@ zKSSllu}4iPN<8!|hSTHzQ?B2IkA4LF{`u=&pky+&IU8j`UiTv#<42`nD9t_?ISO1! zCRrI*!B|=fEj~ZZ0d)*piX{Rc9tGg~4_<;KIE#2OIzjli{neE=M1s|aT{~T~_sloQ zS~+bF7bi8N7bEl!mkROZ?Y{e2afTk5(rurg;>O9e?be;fQ@?w^B~Pu4TUQ~f2{0k} zw8^2_$K(DKSms^bp1Y%Dd@zGQ;A5g%s0~@l^vN)j6lg@uBmThb*YNA1_Dcj#t#NrT znEX@`UDA|qCi*n#sn}i+W(zxtw}$I^j~3fj>+X{rg}@9oyi{C#olCXF%BHXlJ2|7z zN!0Yc*=x4)&zj;mFY{0365ic+^|A|UlQymHdnKcSqHBo(x$5I1AKwqX&5g{@(Cai^ z?iX*Gp0>V+o65twHWuBJ$3$HaG+8|!*3V}6QoJQMLuSRN*{d9K z-a{_=L-M;D71txqv_=2SI%;n?SZ|r_nGMlD`VCx(J@O||t)XvfLYQf>aJR*5u6P^O zq)1Aq%0<(b|2M7@SB_dg;n}jq6IBMcdW++>BKatm_t1zUF6JmnB}wK~Ky^+l89yrO zAV{?`C)y{F>D&Q&AjSsys8@91H?$9_6s;V-QTzO%&F9D!%EzsNE$Zh^)$fjET-!Yz z6!^m2Tr#RjWhq|b$nV~G-*Jw#0XU>}TRrgZgLA6BiP#8ngu|!juLu#_C2^6rE4KUM zUpS;_Mc`#*tiJn!a{@&ArMI6+Y1wD4`?61w#GMpbE>h*|FD21)proEYM5(8|>l`>; zgf0WuEUTnC$w8;Kz<2UvymVB3Kxow_X&nC#%IleX-%=vI3?j8q^jB)(KOWQn%-o90 z7{HXIZ8;(_?4j;P-Nv?3!arP#O-tp_McB)7j&hKU`;xHyFd3GPEUJEihK!We$Oj~U zKrJlmBb0yn9A{QwL>N~)-gZXg_Alb8?BBnScJKlz7sRpaF#3k20w{yRRa{mXp8$!P7EeeunN>$f3B)3<|Af}uqx_wVUMjb?T4 zTj`9s6EL>c>{`^|q_GMft>KHmL@pBbpKM=^jj#nD%?cPDSvb1<(RVBqH!6e!6K#f025C_-GozKCTbFv=n z2UU#dFVf?x19@bGwhA!_G<0wO=+~sVcy-!-M=grq#d=_+f{CON3A`+J_RvSS1B-*F zzE4c~-A+z?|NVITn>LVN=tNRfA!p!A99NV$a|v6~9w8G-qW~9n7~MPev_AVC!P=b~ zkS{VK$r66UIB@-$vRUZ+a@AKpx8G|p63R0Xn>}Tdg=g*8kcp*hvvyNW$4Z4!Y|#{7 z$HU*sqO9vA)bXM8C_*7N<-?QDE(rz(H#|s~f`?AoJl}xONBm ziFM0#LR83MJqR9|by~yIGr(e%=wQAI-GclO-^D7@?0B!~;)809kf{7l$}@laY`v2| z^9rKeZ3DzcDUNLLe&{`Jh`10JTOcw!YYH-xNuudKaHCAHM%!KdO?;jCH-RC1 ze17BJbRcLLxy1F_a^$(+cyq(!{2}>d#J12E?WE>N^64ktp(&u#b&nZTfC^^rC}W%^ zLK&{b+*CrfFV&h{n7elPz@{|Ks;I18;GxE9lZL}w%1v({k{>O%_SObb4}L;|YU0Gd z+|rrUP8ozc%7$a|!zVr1DD{121wPG_7bh}h3lMoEN2Y&YiAv2{dEUAtvKW;qb35M> z41fG9xSn)|2Q?A%6YDAgGyF{V#~;V}mkYftgS1p-Bte5*qy5&qO!s-;M2 zXueBE2TFc+Qpkj7^N9a!OF=-Jkfc}~Q~oT)=#_F)3A38bLL$B@NF2A#v0>K+;Qi45 z;j5PbapE9-OlgUQsV8PM1|xOghfVmC*dSPmv%r| z%1X?+AsJ%RUU2_^eTljP0On{+|7QpL#nNLv%;FtR0fXNAsu?wNda}@DbQ!E98cl^y zGCz2d6?F|fM!%;%)b@;Kr5Sa+FN~aplv8EzTCJhOt-hY|7Cp?m@49!l?Dq5hgV95w z<@Uo&Dx3um#T#PH8WW=ji6HM*#ifP1{DOf5gJwg)4HK1{FvGWBfx8#_$P(P^Uvrz{ z?wJ0xuDH^18r%~0t>Sbs@9|ZD;5~X0R{2rwr>n!eE_fKXX6vsckAERcExI#z??#Z- zAv9~#bdNV$4Xk0Oo&s`XiIkj&azWX6P&MC_hUibSH zcBR`;bY%+F6HCv*9grdt9pDup!*_Qh{eD$L7&}&5dB9odB4tR>H(ZO7$ z<*2TtAvwF-$YkXAyUc=a2VO%Ah+psw_;DV|e)ySw%jf=_NCUD^V(vDzUw8SUpxy56 zJrWp{97N4z>orlg3O193)mlVh;;oZ-8aVC3z!FAp*eecF1)Af}b>CX*{GNX2R-z-# z1WG(x_?UkBTX}}snW>q8djQzzfEEW|X>r~-*4ti(Ej0?b62mEH*jltvv! zua?c&N1EFwB8GA>31tG`41|kH6bRL63WXPT1(kM%RoYGbCaf-BRX;8|CBW>+5e9#! z$Ncp4W&!UU1{g_E0Jdi+{17{Q(g>Z~L#9kI&aH4OvfmnqN!o*{EE$?AsAwiW*B-Wx zG0MC_9*@;Z9kau-I6)EayI-*%q(mF5c!%@$tjfnHdWax?SeLp(oQGTg8P+~7;ON-) zk0e+lTwHGm?3~EmAcUK2$ZB2sre!~`$6sN#D;OR_geyEeF=t4z!7TYw8oGa9QO2t+ zzLY*cqWqrn!t~dVDkP!Kz|rRW&f;nNx7d zziGmO;ZiI}<^EH{J6t6*g7r-rB@VHFOvii7C8AEwYgxXo1hXU;BiLDCGzHlY+HQFhHXLOayFh14NH`*SLU>RI`jgL=ko+Zm0{sXPe?y)8 ziVf4D_tLDiy`e3O znkVdp*19hMC{r7zANX_vE<)FKcWSuglB-Isro{ z!nGu)ojpZn_u3E-*Ir^f|hGP0l<#&0F+@)rd*lB7$4QW0N zkg_e#y4*veeTq$4BUf4WRp~t1c6*dO>&z&u2mii#J5B1KY(i|s7UDS({c9`w#bm&7 zH7r$hVb3JlKDPG==+|Kpbg~GcX=t$Z33GD{NY&!Hb?sE@&TbqMiZo-a53DT3QPL^z zM0-+*jNkD(Y#g)dcqo^OhpLdXY`AT&H&35*l{wN}0=xa;O^}+o2ND)%K=nL&v5lkk z8Q(%=W7SHFS_lWZp}(HXPDkv5-ai2;Pf}4lQ{KQlzFFtlpq5V^m(n%yTXl|ZEo6L` znmDd+=`c#4Qf#QhV_y_SR1-3d7+S24EyE-VW;LHm@?dX1Z7nq{F1mY$)-pL}Yn)au z-=mc=-}<8HDAprGY+>w5lXO%P?lK7*ac*6)MTYF28mvYpnqMPRzo?YS(lZ)^!ROO{97t`rWW z3{z@bEr7%8xWVatH%iIB=O+y$7CyFcRhP!w6=+MGDJW1MMt@tFKF=PnuR4>J`}?Sj zoNW<%9cp2dEY)7p{Be;7PtJtOea;k_#}^icxIv|*{h-xFQ4eSBp4;a$N_kxJ0GU7B z`msELcrd*9XW00WdoGAX9-WYg3eH-JH6G1&8pe|fM^QV1MMFD+)sP3Uz+pZpm}-?u zcwFl>8$V zoagzz@jbr*MeZv3R}b_xphR-EPfs~}^h2b__2-%ruap#;xsaVe+Z=2ve~j@M%i%ln zCN%e-y~EQQuAdACo%m@g1lw+vxi*9=^wmPC^9zsRG$V1Y>vyT=K#OIcXi zb+hv(k!!-gioTvN&GoVta4{h@Cg>rNS&%?ZNAO|-DI~GS&eYX4N7u&0U@-ATE;EDI z$EV3+wL#d#Zs*NeDtlAifw~A3fjm!YeInX~j!%*l$#g^pMiZZSOCLrYdYlOsOpr-9 zY;ddjyP#FYmOjjp@0cr-4W_Fh!htB{c2L8^0l&AhW+#pbBA-<}l|41xHQg7N7nN&? zeeci%b%8e;Bm&p(~|9U_XSuWUnN9_He z)^7?4BtP;4^v?R753?@IP!hr#V*=)bi1k)8xZu7w_j*Wk$*= zM_(rU39*7#zLnE}-4|r)Y06I18P&NmDo449Z!Oy5^!OE3r)G*j41e?ylXG9FNFjuT z`WOtmP+!?+?5835NHQ$Sr5IN(vT$m;wy`wsBXeg~k7oN-r4n{$SBx5PXO}fq{T%lz zxd*~@Gih|=*)-@#bHa^d0uE$Oy<_M7CR` z4FyM9D}ddDN5_Mm8$~dADX+#)j+sep8Kt@FR8@D%t&8-y`83F`5dVa=R5my!`^ z6cm?Shh3HHn#9=FEFNLRR3+$0j+X8|8CGrT6*9ZqBXU|!4{_Vz#(cG$LK@tSEd6f3 zU@OfwCkHJ**H?~>a+1?%h&oE(?Q@8 zxBJ;rwaz*nLe(j<5oXnQrO>`b_QuT(%}$#1e67S^!K$kIt0ls+1VwY@M8Sr|qqaz2 zrGq2C<1-s1wzl=W5THt}eYS_b)s{57SiGn=v0bThKn$-WUe^kvD6Kw!mQ3asz((^z2A)dT+Gk%F+!Hn<7@ip%qm5?ev*{t^sQPHnxkO9+RAm6$z6h!5)n4=D0!EY zvO30|L_s)&EHj4dKn3q7HPwt=;ru9(``r`@1ESfcf+@C}1>>a)g~QuZ+#;~MrbJen z%}UEe;PHvv+pw%*LvaJRD+DCl)hX;c9qv|@x=$4wV(j!qSiV16v94N-p>`e0)f{sloZvY_NaBRE8LLJb zOzCP}pCl<9pzd|z<^7qN_(9>fk?Fl;Mgsq2rk26%_s}RwZIleB4l)lNAYTssZq+_y zsboo~c+g?`80!B$?i)+*f}Loa)Xf*B5T*A#+mpz=&z=XloIg5u`pQNnGhw+`r8>UH zfbgB($<4tsM}zt;qj8`d*e_tzj0(F1F5F=CJFCIs*ju{M*9#fum%W^kSruyi&DHJI zio{c)VnobewH7?=PlKmBfI;xEEOhF*y5|mwdVo?@W5E*jj0$*ty$LVBwd@Q|xOsVy zRFIm{EPuNts?(HawiR-?tBP(SHoJ1<6)Rbmf7Y4e?021awv=Hbdv9ec)m)G_qV$nB z0*O#Is-(7iFFuq9F;5{53AV)2FoV8C*?jYDQC1PcK1WUJ{lZ?X2wZCoaVrNk8%!oF z$J)A=wFq*rI>_jF;A1A1lN-9QV^BX`Ax9$ivz0Z>C4{=YV+h}1@4V6=G8A8_uG(0>?sohP@Dw-*m5$RBV>u%s~}5K~9*m7osxRdPslk!v#)Iug317$|yuSz2t+8?~|gH9XY z1?;z;kah4$!lCy9w879!a6?SZ@U-!Euz|dJ+*4PlwWl~L7LQ}f-Ee}-yC!%(To)Hb zh&I{wQe`p+v_b7j8|zlb*|2Hn4g=BCQrKCI$Cv1$y*E!+1L8%)`C@Z$QZYoKbc6ue z%$p5Z1Ic~&jU>8Q@2y?(f_M+$K^u94xiGd8Bq}?H866~d8l`}r35{HC=tJCFrmU!#D>?`k1n$55WA5|;$-Gg z6vBw1j`9Ry5)X1RSZNSE;MOefmw|*B;%#m?Q&3fVOHJjN;-vb72bpJODDb0HW^3Y1 zLJtSTnFpDPh3auZI@#A1cMWaToRwW1CKvt7`_2+~Kt@TLR68TTUxzj0r+vx3gQW}Q zE@!C?Y7)5#v?mMXW|7qQN#v0rKapu7wSh>Zx&BDcd(S45rDb3aGJL4=l~f+55EJna zb5aKpE71)&9OENz4nWVvHzF4clYEvjJwlO= zxUhKI(y!8l^bNahW88Sum72O7Cjdi&0%uskkega&`$EW?1o(8(d8s|CRR5bqA}=4I2p>q1>GPc0QYq4~sZf_opkmx?TToZwG=|3m ziPDNhWmGr`e6}uTCzK^I36jjKedP5EW2=SVZNgl4REiZ zeKEiTho8W1do&JnboZ0ipNoD5L`kFNR2Jw#Vzkf8YNa<`u#zn%UsB{wOl& z^_aN4f!5i2ZnOV`+}H_f2s+04czEQn0f|3QHTJ-t?%TUQtg9cUUrd@iYNWz~yZh4h z94&g*qwCub>I0kW%JKF*itTRmwRKa z-oSz|9mP*BwM(%8(b8KwCEp+>s>+}Ajc>X{CPoU{hv;=htfb`yI}S!_7MbKG3py$r zNU5*qLCJrtAIb@pF7JpV*3I`ZCEsW6+g9A&gz4;lgkXWev=)}F}$dG z;4GhJP`FDM=VIzEdfDfm3%=}%FqN_-)zmb0q0NWS$zz->B~IFHc-mQ7uqxHAI7&uD zmC>s9-U%s~U@Ayroz|f;I*Y9TMELloX%FT{K7sZ}%6StkGkZ>wAzYwP?7Qpbl_=vq ziVpd)`#O}oBDmpM21=7LuP>wY)@dKzWatGB6ztMyLM^a7WM~WL!dO~i@WvG*MvVpz zR9^z#3LfzP7#VNT*c#y7moT6Q_Hf@2)PP0zeE2~`t}f}R40oi1)~5&kXilQ*?Q8^) z%npEXjOtRh)FiTRN*i#+jnFeI82%dFEz*oV;6t3yr>~QGKV7$ltTdvu=}*XA{En|4 zZC1-x#`#H4_jS+rMm{&tXZQmyhT=1vvGys2g7esT%f_A_=(#5c%|_jt%L9gH_p)^Z zgU#rc6Uufzp*+Q##DUlc8?9nQgE8ac3UjMLhSKG;rc448*3Ur9vO@qUzW)nTbI>Vb zT;6~>DqwOaMjWYn;uhIu{LZRirds2ri3@uUz!}O|Lt&l}AxO8YgomNc&XZd&8Ijgx zo4sCjbqHn2oy@C6QhB|< z?k#ytts7gp6gf~`l67js^Esp;NGG>X9p?8A?V;js#iY4$e+ysyQAf~GSE5zvj~vBG z+JYJW$=iozd1OefCv}}R0(fSopPX2aS4_-Gxdp=W(**7y^&S2xl^-_83s>2oqgABM zYq(Nk)y5|@Gl~q<9k_Ms)@difzPjg1QrE0;G!qi%=2W1UPo+J|9<9>ARF%%x6G2V((ZkyG-5 z@rLe1I|3duJZ8ioxc677@i1QaF%U9c&{QNAk_hY8E~gOtWZsaD)jgRn1o7Jw zd>!8+HIR+QM%0dzhrJNl=H&^f8|z4I)APg*twMn(U%><}ysrBJL!0D7tBwT5e`1cV zpmT?Zv-u}X_(6HmamMKK#>p@pRE^gSOudW^$hC5U0rY~`nH!+x1L_X)+FeEO952tZ zlod*PU;Yc~G3R0Fh`DJFcu%$Vygj^_Ei^V1Ru}Gg-<;qyrZ(>4)p5X;GikrLOl-SB zL>e$MBok@L+{o#Ne8-T=6d3QC*DFUCJ)!KH@#g4b>P9rLj(~Uh^{p3J_vmYb)InDD zXsvqYGc)_-*3KoL)%daU=!371y2UaIzBk~jl1FEWX-$erx2ax`R|m}FH#ijTr3d@y zV+34G3A87L!0TY9>z4(6HfsLw|f%?6uQVtOoU5|Dmnn z01MGf0uCY~q3AK=pjxMc$_5cTx!NqY&5Eo~on_}@MsWQ$w;&{UJV(`{4aujt?*4~X zC#e2PY`&QQ(XHKFNA+1x1lH~Y=HJQ#jh>NK-TjzbP4d^QU;g~Y&eg0Ve3qW`PB8)& z`!9>vr^I{?XPVHH>$+zWOij2={UJD72+Zred4Tnb`}hT9$qzH>0+Z8pCx2?X&GARh zZ#x?3dL=y2sGiHGv8Cc{t?Ce4HsU%KvZAZHpP_m7_5J2qvT{&>ojps(h^(;VycjH+ z2~ji$94qta&!zL9w5AM>Uw;<*$4kru6BS*n!#xLMf0x^6E#5$f5;8EY$af3SXqLVo zFgrP@koh?6tHqsc>)j2K6uu%K+NIp0A#GIoBP@K6Xq&G*3liORsWFTdWgi!@iUW%6 z|4Q=q<#R_en>F2JFsg~GyOG&s2v=(!BR|q=O|h!DVfGHU9{$$M5=U8X8K@)zjHxj0 z@x_+Z;^L$#!+p5Ed_X(0tg);`RchtCpRH={&Hf^|I&OC~W&Wc4oc7LD>8`&o=U2C( zXR7J>#K=?L0+vnWR~T3%LEriuydW!5p;l$nPo@uK9zt-gSNau!(l;&CEW(}Q^i%g01c4h6dn0AA++gI+r+-^K}Ii}*Rfc#I4 zE5ML5%2nghm#p*JoBgXVg3c%>wH83)6D=%yqw9m;|Jq|Bj6M(Lf9U7u%R;Y@s(paJ^ zO2leTW>K+TEwHm$<$Z&gfSqLGqSMv8Be?xAl$W2KoqptRMJ2z~!Y+L@v2j1;pLf4? z#KQSF+$s7(&;$L<66}%AaD(w+0$d`GjAp1p2%ah=V`+-|2wv>u>6yQW~Nc+e0w>KixhDBN8{X!aKf#`TjLw8e1iL*8rLeQ9Mg!n@}U z9XuMGVqMsaZlOvw#)LA~x=vy1A{4{x(u%L$Q#8FrasE}>(owOik3=}x0nA}{4Wne_ zY)Tm|smSQaXFYo(DF`M`pS$fxI<@3D$#%eFmgpTlEu);`_?lQDq}`=d*-lDSTTGQ(hqM019umW|JpC^dk^7WsaP z0U;)fUczhosx(^u2>FcuT0zWh&S0jou`LC|R$KSTX^JvbY%&AsOUM2MqLi3ld-9z2 z{AQ!)EeY#cU}rkL*UHkjc`a`Fg(k21{QPQxg%m&fjee3l%6m^`6=1j7&=Ov*S&l3n z&bHPyF)Df->Q_RMSR={nii?W-eM2LdW)#!sX1g z14SkF=G{{zzx|3duVS)wg%5+3oM)^{G?d42Me>L2#YRc9caOR?y%tB_#250RqGzVQ ze{TMW_AO>R>j~6;wuJG{pI;t{f#h7rm=Vn0*>hh#h0PP9?jZpYH_1*~jC9PSZI6dv zGT{Ng2)E+j5Tfn`2E+5@#_6VZQ6MZ`LHnun>wD?|~zTKhK$vyGug{fMP5lsmf*Oc)TS+2zob zj)&wonhrAlmIeUg2@{sGRhuFoaXlkxYZ}b6#WxZL#BMu%(N=)JlhK<_?GW(s?sf8B zIeEZ7J7M@S;8IE~PjE!w|EYTf$LzTpbkAmJ=DZ6adlR}arLrRr1@W8R#Z#M^%_aM zBeK`S_r8AnN~nw`exztCOFNV=-7oTci;Un^!;fkb zb_5vx4okW>%I^f)I(fXqR#k+rTJjp@_;Tf9EgG@2=Z5>AIqZ+ZU7=KG&s5lYQqV5< zGMSBxNcSISfTi5}9UU*|r{1D5Vq+449H^oipSEN+KuIlcwx8`E94X$j%dop)or3U7 zb)?x{uzvd6&R{E0FV{)*;$#=kr;3dvqjk1Hoe>!wCl07%Irj)mhLb zKM2DR7sT}t>itgFH~h1F`Y6b2p3r|I8a!l6t6lxv1#~Q0n3}%MLH;H7g0&Jxa1M$U z_QFBi;U2gWkR{xSlXylmErO2!h)u3X++*gIO^5Y?xF6%~gcExlEfhWRAp6{{=@{W< z+#z2HR`NZ0ozm1ZLlOgx#>-`ou-j*AjoE=k;LLAh%o7#CQQ>UbjwGGzomH4>)-~Km zthJ-xh(M{&TSHSBzXH+EO7O8i>O=tF54$5$ihDMBj5-0z9u30%KaTLX_P2M0dx`qP z=a@hDR`isEQwjpVY25hB$gphpZaR`D#e8oI+jJd0ChjqS3Z*km;poEvlQ5m09bmu1TNq<6&GMPx`~w3D3>QD}SeLxeQPE>rFWMes7; zR%DGh!D5S+;TMn3OA@x^ej2K@MKS$du^8}|P>vy!p#DW+zxo?NgCAAOZMYy8JYhRN z5nZyV{_VhhEQBbdwGIB&s42v@D6u+WIk(o zXq({|-NYcXv_$apR{K`!Wa18{C-2pzN&j$sSSO=L->V!+Y+{<0?8Hb?Oj1V$QB?&g)qJG&4|HQ_pD8@{A}16? zaRVOV?3$Yh3v%;^q^3cEzl{OF_+yNSLXFq6!jKmWhCNOBC5(2sp_Ah-%!1?9)Nw81SK>82+mtC@3Y$|ApRyzfB6lM6-YkcyYm~ ztf-JTgAQDYKu@%g0C9F*+BpT@T46TSbmNHrpXC>odE!Y=fq$XT>hR4&5;6LDW<(@Ugi21 zlAQ+tUdiOVf^NLQLGuEDe}riM{U$bjAiYpRWN8S&+Y9J`|5MO_{JyWPD>UFQ=mEt1 z``iAbRR9Gg^lC`YAaKEg65v&m@+)92>~Bvji`;-$Nu{r#kchuf;UW{@|FUQxR{wga z-T1!{$`T{sRmQ@ro_3NT5IrP$fd=p@{`(blnDQ4oULpg$ilBW3-K9ey0dUtMI^dt6 z%zuARx0!!?!p}wqcQ2y@UPZdS>g_V;f51FkFazXbc@h9Ik3;}9`NZ^9)!=8{51p@=qN)%RwKgY#8#|627T)u%N;3YPBz>#q)&~rk8fic4+ zH|pai*G=F7v6_0GOOh!6u%H*5*oVXutAH(~dEP`F zSEZZM_vxGe=nW%hS4BG6U5xUl=6e`kJ&%uTJ?$Im%EuF+&`W_$2wb>ClEVrS&kT{EoP0u7CTBsjZa6V<5qV6*A5`%u1$=Gj!TwdG{u3lc{&MVv$Qx*pjLCB(btM?5jYtL9d%hn#Wmd+GJhnolEVg zdwEF*v?q-zEHQ08vXm?)nYg%VT7)e`PTgJCl)rvJ`HPg#d$#J91%FJ1H z6TCPs)|H5AXpLnNn@8j^OQT7z8y!N(t$S{FL7(0hWdgN94JV4i6#3@|GSN0 z@k4#U>Q#RL`!xxy%RAQBJC<6K37tL-h^fc$i*>9}B9bz!z-iMwyc#j*&Sa(c5wy+l zP%n>b^jx zp8j*!Ov9ilV5_@9`0oN?^qNu8#>D95>?*?&W13CVwM|w08u0;HJ6rn{Co_j3pfxA< z0DD&F`jKPn984v*oy}laLY;$lR9c5UTd%E8*`Mu#DaU=kJA`OrP$}IzeWRXTxQOj5 z+o72I+*;YhwaUAw3$|L|J;J?tI;}dD`MNZ!BFy$PW34hAdF{i6Sv0sli)NRusOWU~ zuQ8529)|-8Per9dsNwXYcDKbYFdpJ$h{@KSc=g1yx5H4(M!8Z3FGA$I3G#~kg(V*y zll7~Ov=(vxY1|=~c`@9V%YR@bA6b5yUpM@mQASBp>1!Nsow;S>S5FHx!GXthv4%6^ zj~E<*N<9`)O}C62Qoc;{(8NX#`;0zhBh7b0)m1LT(7q_)Q=(%!-qm>?fOJRf2bo4A z3t4Ci9jC%8`9EcB9mm=Cwjw^Yk+eu*ihgOd$#=;M|ErORN9sY(kxrw9A(E!#oa^Vp zUSx1EFkwhAF!p2-MXY2$7z)4 zq?xIxe6lV2QaP=>@r*|}LU4+a`C)SJx+FUAOK8#yrUFe?cPG5l^AFF;58*ZZQ`l`dhVxa^z>q;5cr!5!`foxv*e%U_C*_-qwg|WReO)@}GYt$_ z4S4T%`Utf;xs`jpC@!&s7tC9?kb9%?01Vk(eIbK_!G?7-pX|jCRSxO~VMzo#!^VGk zzXtU9YIf%y+5j@iVK zAA766)h;vA_B=wHoaRJe1$T~&_9@m#Ea3H!6kY;(4hlo15K6zgiCFcZ1Ia;!}GA1+bAFf6FVnr zT8aOPrZ-0)ClykxQ(ZQGyN&2`MIXy>O|El~S=Q3$4*Kg|wOtH&5 z(l}Wk!T5VU^n5I{R@2K>)mxNpfEY(#r6vGO4cmSDohXRyj z)zf7OY0l(BI>G!~?q5Uj6ZpmZsRJhR=?w-1_Nh=n!Ec8z780OQVb$ zF=SdVSLP*~NPa=6+D#7rf-Id)kqBeZRFjj}v7KavxaFe2NH}R4Own7eq({`T7`Ig$ zEURHT)>K=Co@c(2*KwS5xZK`Kr2wAF?0=LFq)4h|$=h(2j-+V1_Y;QMvzsTAdcu)3 z@E$pj-9&6mlq6$7`tA(BP3+J*E=T$me<>P7=$-#BlRlNN5cb+7LS56apDbya$^{ zM{!%5rP%GT2ywpGEa7Bsxs7uhwJdysi+G@IYrl}GZ%o9l+ve=3*voNUk*I4jR9!_f zbCK0U*>Z%v)GVm+l-Gs3I>-ETeFAv#K73F&PY)3sT1lO3_;Ij)gps7Oy#@4mo<6E( z<%BO4{=8-GG6NSkYOKp|&lrfng0ijIi>^052 zC3C%&_zLPA5&xD$yj3epc#}O;^%dLMC}DkTUp?CtWtR00b}Ua;un96E?E;S4NC`qN zDfNZKk&Yq9h%YXf?;JAkk!@nOohv`zQQpz$4NjaJBU4m>M%k@z6ol zqmtalRWDNgbuT`N&M;B!%6$@B&X2d#IM$($b@Dv&wle!VT{NlIZ8L5u_J`Fxnp6+5 zQ_t#40E6EKneXpUb)dmEZGmf=lYtSPqa;>z{`JO#m6v;~5nuM*p^kGhIB?)IqgQM7 zCI*>0g1r2uq}k$O_q9MVbn8+sM7wghj?lS#nyP&ZB#F*`c@NIJh8vftXJ;Avm{uI= z+9GLrjx{uTuw>OC(`hub*Y#y`fJa3~Ev(g(i3Hh(P<1BuRG$$H{VydNYmdE%RVe-Bs8UHUEeUXXudD zy;Dyf-7s7v{gm@LZlLUO3DL2Z$rnf9v6bl~0Gf|G(5{`m@dZ#cgb&I_1+2ys zzR4+$%ZL~Vwj-ZGD56a2kno#O4?*GUrRZ-{F@|khP0)7kCBQIvE87qLqAa(VPa@^9 zi7bx!i5ZqjIpj5wgt`(li7HoA8DTn*B%Uo=T--q2%ZnOylYM79q`jhG@PnJvWvy%R zlh&6@8Vsq_@YNgVTwSblj@+=7k)2)WVf!VP0_3M|rOA)K*&k#4G)mu7N&c2o92q08 zqZ!&@HeN!BJVnm#`nBLcgV4}E#TRw%qIV^0oJdk*IoF;;9Nn4|HyW<{yq2q*RzaIW;utaCZ0>vZJL(*L7izkWkBwg3O6spr}*JjFbiP}-H|cRd51d%wfS=q*o~BUzW`szcD+ zRLmgAIF2x8X&EElLW$#2vO}li4ii!3;5=3Qs#*nI=i64#gbS#qKPpmV$S+!;|xB? z*m)wlhMSdIhc!tLGdW~lex_T-KX<0Oi3!2-G4sjiI|ZR*Jez&Fsr)o16qgxlu3)il zW2=FprMy;l*Nf$)@YniAVMX@x$~kOVM*95oxY}$=0Q}Y2YJTDSVrYhLb>VN2C?Lg< z?{2ALfL)^LKPyIyRm&FkyGMLQ?e}tBVVT4~1Kk2!6U>at1m37eRcs#~%wexKRus4K~w95L)E=~N=w(FRJ0Jn+&v z7M((aL$HQcT{WaIoam13ncLy3`+ z$DWWH;n8o>VXYoLSY}sBw%fz1|E#Ur)+Ma^o@rA4$VO@XpRju$DZ#N;muJ zNLC>j8x4`3rY;l@EtDl@`F1$Tj+dVqkiRST!4XdPa}YtJWMR<{9dX8{MKHM40baHq z-&UYy|K!YVz6S_fvuRobG5($Dcr3@&?BCIMBp>m}0$?D_sUdC*d3~^RoA9^hXZr}x zhYcT1iOJUE&A9s+uFXdY%_9g+Y224+1v;jce~VU?J44Pba`cH_GAF%rAnaFj2i6}^ z^aiTEQvE5%fOzFR+wGS*P!pkZ>eFs${n%5IvAu)ajRsy83bXH2KDmQeNyg+}Ve7KI z5;6laI}K%i#vf8|z$dJcztUc+OT?Xl*se9ylC?nJ{FFfi`)Qs};Z5_opy6D4YgpA*JNmhF2(6!C)mz9Y0?9 zT0VTdawkuvhw3{4?C$c!?nUb^a5(Ne+l1Z1l1og zt4Sxru8sAfn!ZB?uxZ*BI0)A&K)nr77>aeX|%)#YLH1QG+j7|^%JlG~14uW5&SbK0LR9CWYBbsa|^Wqe#hEm`zua>L>nT1AR1*RD1jzX_7-9yPwW@881K~a}TNDVhOzav+M zJ25vRNWuP8ImjJ}yHc6fvGyt&&Wuf?`6~q^F!|*)0TGdpCPCY&LE0M`=>f%YfF%|~ z%4=Bf9HZ#O*+Zi$lsCG9?rwR&xzmL)&N%pUg$b;d z2h_VREHRdwD`-?1v6oqk({vCu*_f(s^uY-m(A6~-_t}ROjH^xeqFlg@Ldt*A!M;{- z9wjYu?Zr&hYWJt3y|VTu^=pAzah8of5{GKNppDk<5E18WU(1BY&Lazt&ca=brRL6* zkde>wFwO~jtN}w-wzi9D^ZQ;a9=5;W4q|m`Ace7f_M0jUYfx>HTlGI}3E^W%&Qyb~ zS)SfUrpz|7Q5c4?dt}&Q)lPjMRTAD~EZTKJTOOBg-K@0T5FQ6Pi#f)O=aLJZOMPm| zzdF&nti^R)$(f+(B1X1{JRK%EX4glTfjZ3^IhXaO6TrBTgg%vJiN&f!O6tf`7zIZ@ z)LHwdBNH`A$s#BJZ7d&VV1$y7;&Jb1+#inXQTi2{ds1!{^gx~ z`FYylDni20yR&7nbVY^(hkSgaYmgM`Qq16c`{${DSp17LHKf}S>vVM5 zg=7@^`~EZIpwNP49ydT|LP;Ab?3e8&%3 zw!%Jj`&34Kzau9U8inT#C`!Wyfr~inja60^Z+h_Dg2RMuR~fJqtZ~8RvHRPkD5Odi z1M6T}&I3;fP(nxGe_7qSG4S3i_!HVa2<>35ABHYC7YzoD{|&742UCLm>FT z)kvohoIg-vBlmb)I|b;WIy&s93R70yflnuKtb@Cpeq2seb|`ARhGY04DRD-JRbfUK zUg+M4ju)>Sbxqps#YU(ew_{m!*R8F9HO9KL)+@)K+hw!ZCVOrPO>Y5~tImf)*+UOj z@rQ{5X_GWQ)r(egN%E-Qu!Y zk4kw&Y3+ZP2L;+{_z~&VPDbghDu%<9)7Ke1oyaWZW3K;BG+Rz5Idehk!e7_{EK+QG z+fk_8&j>rOio47-R!b*7hw0iXx>4z zZxh9@a0yXx#w$M8hKzEt@$Xv}u!|f*j5J)N-_`j?68_m3{rO%F`iCeBf0R;)5lSE~ z>UB!t_m}+P@^J~a#69vbPGSDGi1X!MJk#h1C4=x$2UkSKTv#TK7Q=AC-Ki~mcHG*+ z8$2S-IfeQH4S}utLSIxuHTR9#84NN{E3xN1Ju-as4Q{cG#Rom{x(pZ&Akjgl?GraR zYPGcIl@5u?^h({)YR!E+JC@RnV>>;T`iO%9Vzji6@`%d`U>yym%c|S%Z}Uw1SE2q` z$KI36nHq`b;r8b^V2_ULd2g60(4I^t2$iNpD^QWwYfG3FWZ33zmba>>;}2CF5dHQA zBZzS`ZPK+~lSdO3Aq{f|_+QE(Y1E%-)1$z3!9qZV4Ao5WXbzh%L?6>M`(UnK>u8>N zubxp79MAt{w=&0aEGF(70JBZe9VTHU8VTnP1IWSw6UeVoX9g2>aVJr0ZW-pdNT%aq z&X|Z?Zl>ourkO4XZd~JI22{0C1zj%$yxLW3YB@aT`F=#tzb!OC(2kW;M8}3gZa!r# zEbW4b67;eb%RfaR4n;!Z6I0A9hqzgawvJg2N$nno*4z4P!~`+_$Z-sNE~|}rrF!MPI2pe@rBqnNL>5FPRv`=(B7rB=|9_C1`#b^ZlblN;0+4#dbS|?C z!(qtkNiU*dTgx$HLcQ(H4p>fSIF|r;YfoENgBs3ZGa` zIW3)Gfuqlg4F8P6}moHkZ&m8q>Z|M%UTydaQsIfvd% zueK#_Okl6Z@{6q{U8(yofn3WBj)nnvNBh&u`Md5D?SJ56zWj-1-x)h8-wUW6c>J0@ zTE=<^UFS{*!}Zv2axQdCcdWxc{i`Pvq`M4tn0+lLPT#5LYScT*fqLkv9lDp*ZSp*i zogv-O8qf6XcZ430xWD++iWWmQdKvvy_Q()oGupVc*96HN_Dz@y<<)988MbzqHhpHw zzS=_kx1##1Qri&e8+7qOddzy3u>!+%%sVc~zD_l|T~oyo0c!*ZE?{IV%ObsF45hP3 z3xvcTR8xLANOuYX0!{AY_{5R^McdyH-WBaFS6y+oD^>{#nVvJa0$Z+;8$u=-5qpB% zk(yStn{d+9r1EatJY}LC?y?AKo<;W8k?Rn9JuSXMyQ28<=RY4832mk1?SE*nJgQLf zuQ)u8qV%*Op(jP|$vP+S@>)oCl6ylxbNm{n2@AHwK&Ghz+`+V!rucRVGhX*9heSQbMp<1#QKCN$z(;VMyPZYN{)A(RxA)Tele z!(0Cflm;`PGbQ^7Ow;tEtI#j3jJLQ4>&5{Cqx;{@3m~TeHh$UvFogs6GNCttvKPHvhel{ZT+hHsN)QvY z53FHZj9jRxW4Fm>S}areZIxA*(2}~t4SOM<{b#4l_qJy%=HFf}g&o1Z5uknh$NzTg z%6|-fj{lM7SF34sRBeach;FwcQ+@i>4%{CV6}o{^uizjq9}pGuE`z6|3P`gXn2B!p z1tCG*s4pnlJ9pfiX%v|0&u=DQ@lj*u& zQ?>!!fg?J>;JGR<@O(9px1R_wf(@dCGSa-m#LT|az%&|K>v;_;c`L)-Q@wL|dnfdM zE#d#HGk+|>-b;?@y&XZu_*C9>N!JfJ9=W-HGh+@YIxK(949fQf!OMKgVfGEypWNeP z_Kn=Ce-Z)8cT$)TugStU&pkJ}g>_;d?_JMCn+t18?iG$N!k$L;znB3xb)iC-Vjp{o zb;l9%#zfA*NhG$khQ|z!3aR8U;ev?nX1jtOzU7t76SZ8)jpq6;I}&(<92iD2x-GOw ziJDq)$|uBN@H`~fj77_EGL~X49*^}1Vq&htfg9l2qp$gDft&^J1oueIINpNM3Vu^6ey*F}g$%*|}nq{)0DDLL{8K|5JYezdgStP_AlxNt@Rx4tM5=PyH# zhNw7Hnu}ELukI1fBgr>abUGfP?vbd6A^J>uVOdUUP#)v7$Qs$VhzJ0JX>Pu2l?{n3 z<+{W~Opk&6P4A!9$G7Ij8d5REphfVwS8Sga-c(JNTEYzNM(CG&Arif>5l6& zH;?|2X=rSZAiRY~X8KgcGA<0*&xiY0da(D3>>LN5LZl>#@Y`wUOQjs|UvxP;f2Jk3f%KQ3Z9NFNdFkGgm!6~+Ok_W5D&&yDV470uEq zlX7oXEP&(5gcI)UxFihwh|@$lBG?`RJg>X-0}G0)_bimS~H%J zD3D@XV~%TQn!3E^8e(Z{+FF6WzF9bCT84?kc^=0?B}ziDf*$GY!|5~}1G9Ju?bQPr zH$2lQoWXTqB47e}sY!XMd%xInd#6HfZ&PH*E*%-0Wu0{RDbm%DeWYk{_GTSxZE5X0 z1N@3blP-p2RS2e|FdIryJz9O?SRf0^>QL9GYDnZ?tffY2_EjQb`58hkMKr z_n>=5T(#Z8=>FfCiHn~bOY=zHXWX2NywUC7 z`Gm_a{IF}s)%AiJqorz=21E&>417!w#*pvnXEV26ziAJf#N>!>;PUYW z^40RG&rgck%cR+~KZ48i#50e(Yqk|{?It>3BFE!BkHt9iS4v$Jcz3?ex&vFQPQSj_ zfLL+^x2_NW1~ak$Ow2wLwZo3hWm&C2&+n0V@C(M@@wW7fXWM72@Dxa2q$~5iu?Y~% z&-d)TFFmNB{RlV;U1HuF3&qw_3AV)Xa<*V%(Slj{(9=)t#<{)bX!o(q_-rb+Tl~5` z;N1T?_W_BNdD?i)Eno-~m;fkKjaYi$y!OXPp2hZU|5z60d=%#NO#Thb@uz%&aedY( zLAh@ZyK)bKe8ccd<5U#pH!dbP)U||2KlG`~3I-z#e`Aos85$;Q4A?cQhsojU8fy_RUvx*C0( z+@T|4|L$oS4leb0BQ4Os%bUCgq~)aui_2 zY6nr(jNx4i!#~g4XaPs8@0NrJqDm&@KL@C`qcpbz8M%Y$ose$YZbu2fP;Mg#yTjjD zcw~VzGjP=2iC_HVbCW75%Cr95VKj};{lhq>k8e+(R!MTWJOsne!-dM4d{T=lUbGGZ zLK{iP9$`MY{W7CRDU4DD;kTbT+8Rx`GD{c#rf_gdj%~F`%MBJ z9kg2!o`Ks0=T^lV68*L?rEwo&Ypm+Yi?i;2n46(Sfk!DsmK!!m~G zXLiHdS|>QWSG(ud*C1Mb-oPoiji=*=>Y1jacHgWW3i;A^^Pk; z^{}!An+hB7Y+z1Bvbvrzl<~zl5c0k5jz6eYj579ba)%4}98bDtnLoHzZmY#ip(9gy zI?@JIvC|E;eZu^=Wn*GBE1~3bTg}^VdP88&XLp|Pd1D5M!7qN@zjD$Fco2O_fmE6c zt-GRf<+}Y`Nnad(%Xd?5cCE{c z??+#*lX{KRI^AS3y_7orM8zvOj$&^q+rm=r$(rrSl3WUbM_U*vTIDMh`^3 zCK!B=ku9$058d%B9+mO``CQVVCFz9rmo;A2#bu{RR))cxMd55owd*^fyDSNoYD_5K zlIeeE8|n%szqaXVZNWd_mL9?gJTz=P!0Q_u4Z%NzlB1bk5&5>L`2iR(FfJ4@FtYz$ zj%TNlfn2ROPkb%Re|a2>H1{3O+f)(?i+Gn*O{#i2Ss~o;GB+t%lZv)uEHV&o3<@QY zV{E4Eld5S=DQT@JZHG>;Gy89!tfU1MsL{MFuMD`Y)K4LQ8ITty^g!S zFFQ|NF9HG|x72x%4XA*DsEd4(j0}TJ8AT%{;B2}c5){QXh7wv`gd>Ik#REFlqK!Io z;V0Enly#9!^8K%fMey$C2x~vMQQ4-~+9lQ6#U1H7PV^jeBHks}`r|kP;Z<+$m7mkw zhe_NIqX#18r|rJjIbWdth^3uy!~N8B)wr9c-rzd^X2ARSuZ z#+8Nl&KuK686<&egk~*Nr)Q9syihx2dBC~E3Rx#hycB;$yCgI5<`Jklk<1aj`|AQu z-ypa1RD6Ps(097kHr#$lE;bh7ex7wA&H1|6vhMgYNvVMErlV7RcBMHjk@w&-H0Zxp zKe(|kFZJvw)>iW2eRM`oQcew=Fpw3HYj>?wVO{4TitzGoUT-xt)?i}{_E=bAl)JzA z;jpwt>11TeGWsTB%~}2Kv!Te?^82IU*W#@??o+AF5@(p48hV(oaDIaKx%5;E!Lotc zEPZs;qbeBqW`ToRa4B{)v{s$baAqCiqh8?;sw#nnos7K+Z8Q2(Z)4&nfOj1W`u8~oA7Vq)0MCn_?V-RqB4FY-bW+$~W)Gn20H z+R`tr&Px}mG)E+Jld@TYB5YDao@6;qP3vW}d8JPtVUIL)HN zYLmM0w%8v{y21$8D^0k1WptjZ*!|$^(L35u1KZQ&>Fql3hz8m@{9u51G_ao8lCWl% zUi^3)FM_=lC&eV(PR&to%w{~Meb_)JM-fi}MC_C2mpgyk+Oq6HzS3c84gS&tnAgHE z;sYB@q18Kd{^EoGEK*qhk&dPC5c3_uQo%vG>TLZFksJh^v;!H^VRDG8j&hnmYhH%` zbwvTed#v7ghQqh){~0KN1VHCUlm4qXG3l`xx2Dr{%L1PZsak&Kgwg}PfGWn!>p=|l zrSkik`cr4fs022cRl6FCo@VmrbWi`KM6!{BOsQjo)oeHeeSk@ihQPzqvbV=hX)Jje zYh9slKqjoc-R5Z)X9ZL)X-WcN6{D5chx>)xFV)ls6aPu;nna*elfh!E<~2_|Ij`Ng z5?quh#z(P%!pW>iXU@Ssuh!DJAPRX;zbzv|2jN;@mhVL#gRuG-_rsleuKzqUM&+2X zG4DnEJ?aBM=Q=fQZHjE@+%2E%UygiRlkz;8!JUvj$9G-*nXt;KWVW(d#$~rT zaq`(PD<@W}!U&{=y;6pxFo|=qizL6zGp{Uv+I3y7m}7d zsFB}9q4kJge+x%WhBlTNSD)E^?3?+?-F;UUmDRdvka+$xAhgQ6huc2K+?}pXNFA|5 z0&m`x5_e}yH!xpkrd@3gIp>%I3*Uat=v*IvbUr@cXt z4S(&d4=uId+X?9wxacSAb3r6_dqXo$vJ&NqaO1{LlO*vYKe4#9738xI zKJ@z_BmlPmUhu9*ZW0`Yc9o8c9+h!SXbrl(P#44|T&-!%CM1TDa;5BkEKOQpbwriK zl%Bmc9okmJSS)Gx)WyWv)a(Z(L=TLvG3hhc(1db)=Z zH&O2|EjW3z@=u@C{UNeVY#U`4^3-ASN6Ln>A{wGhiM7|vFMf?g0;Z!f)@D)v&$H9b zNlCc^PG@M(mr#6hYFgF?Ww={yY+>xj;X!SZO z{oghTixj^4aZc!$+YpY9;g6m$b6|YKE3STM{SXH=pc`Dfo3`2WkZ{wL0Quz0d(`tJtZJeiq`7JxBUKOy}3ay>GLgApa^XHhaY zN8?1pKqQrBhonG&(D0KnObW&a{UM~Vt!~w>F<8}D;Jq9a(NIVG0lpfDzh#@=s%ur- z)mj%-*7x=DhbjFSB_ZMVW0&inufI{=`+J~(ID2g0ohp5Nie(CWaVakO%(^{$fK6Q5 zoU`HN8DPdvbW0L&K+5dx9aN)`Vwsfwz-^QT&W!Dnm|k~mYC~nGe^^S&FY&Cj;*}L% z?&}Rbx9pXcE_r9qOg!akUZ$SaiAQ`^+UOUP9)IR-NOy#O{2*>KS(3RIKjj@bib-Tx z0g`DlOH8M7E}hQ5K2R&EM{~iR(rrx-1EC=^1F8R(?F~mc3=L=LyK!oly;9RHA+T2! zlgl)-R=`bSgsmC`fW*bS>enM9oY`qb!8hP;XRB`iJL;|h3Ob_59ryv!Q+KFo}V z1*4?Qj9BN<+}8&Yel5~$Mn}!v>O(5AW`???Jtw6aelg)ki;fAFz3E&o)!|$Ger+he zfFfu9)E;J9@7cjaiI5S^Tkj~g*F*@;!e;@o;~{+MTj6MSPfMJZoNJ=}XW}Tf-KQC| zgt=n|Kn4>)r~hwyO6W}P_yG;~uPBB~Y%VbN4lu4<}Q(tTjj zRC~sPghd@2WBiDfP&=y^CR{S3_G!S2psJ0||6gngy0BnDI z3~KP39nsQ%%hkoY=|PK?XNnw=YDq;SutA3qc_nk<1R6^MBGHGuV=)5yn2+V6 zB@1GHyCNn-f@^@J;$>AzVTctQ(iCecCx)P=$(N>uWga6QPm=^KFWZq`0EHGcGlK4N zX)W^}86Sh&7VO=+fQf03zDT4D_{RC#V3S&-tr^MKd7)>U6>Gz0wK6Ow9~?CJ9@HWc z%RJ_$acfhC8=i9iDp>wY2YnhId;vpchyM!h?NT_}Pb{qgy;&k|guNHscEHr1|2wD* zm7l4eI^|P-_sE)4FO&P%o~(6~O5hya0Hx&CmYJnLKVHM8EY=W~Nd!DNpkO(jlpI_1 zxQ!7v=_I!euD|r%B$X7})1bRiMP9&e#?MR70Kdgi8(NJsVH4vA;;q<XDJH8%z;5I8{yEM9btLBK?eYK_jCm+MS+?FAa2mLk<-+nQhtOzKSsBul{mio-U!rDw|S3CY8|{nXMcvI zr*UOJU6~aPWqSL=3Q~wU88e#O!8dVU)^?z(V zZ@;l+EAX}}lH(B~Tj?(8xy=^fj*4m;cT2`Y7%3Fc+G~R22AK8quB~Xo$FJrJUTs z-#vdVsfN$zQmvIPL_i+CfrRJ7h8g99KYk`)HiyeG$h=)_r_ffQrWGJ$NE%wpS*%I*_Cfr*??_=|ni(yiI; zrenGR(?O0_8kSf}4rPhXTq1~|B{_=pP)&wJZt;{-5w7AFfB`?W_)83|hWyiX2H-r&g^blWwNvr@9)H#;JL>cq)s3nQaM0ferY12RTfN zp%|r!f)INRAQo0YQG*L!{VHu-`$v#p4JqFTCp@10)3R0Zc9d1FVOqe{y_`=8ZTXt~ zR1;~fqQa5ySKd08PTR#J!_C@-*t>MOK#Nv6u(-u5ARB-2=>J=|{Nda$ce7Hge8!Iv zg;-^PF1&8(LiD{*QK&!x+Z@zXBX@i?2kS4Z$Cu<)k2TlL`3jT!m5FCUvv*Z*_v z4XGEMp~Ut3S)Go$W=s}LYT)eFE0@##Bce?&97zlDO7N^FXoq)iXv@7f{Z_1GLO;mb zuWy#G!{7{QxAK80KsZY=mly-7Zqb{oCsKaF-%E$z9!k`bu81wyJIQoB-%$0HS|LK= zo=bch$PglE{H(BKBu9D1Kj5^FCZm?3=umjpqCjiei+aUJUHfZE@8aDsBgD~K@4#A> z`14cla@9olOrTo}@;PC)?<7~goH!){@(+%(_-CP`RNyS~139mO)ckGnXU6OY3Fc2t zD4hbs5i_7w z#J$GSNXv<{tw)HabN_LSkrWLWa+Ek?NlZ7eQotJhyx^!LF4d|8MD0bnak2iYa!)1! z0=Y?E{zZ@s8d2alKxWm^JHz>BhxQRVuh4{&&1cK(T*P7i$zSQ+9g}7TJdRBYkIPSj zp2~;Y*B9O|5y?3*tH&_yrgkP2MX!R4Ie6(+82TWe41=Z=&lRq4G8%P)W~j;IywmbK$MtG)9bV&8p+oYP=43&YESu--BG0Tm0;SF{*r5I7@${GWSa?^6ICb za1glqk^4ouHR|U|n-)VVASxOJ3c8o(UoX(dexlVU(Y8=l%0bLNS1Ql zj5{vNKq$+~tNn*M*2?e|03Q%nfz`JlvfuGmj|twoER*aMYLV-~zfWcs#w9-nBL)qs zPP!*$FQ^Gmm!RP^w}X9Mgnlshy=;x%8D=jU!iODO_z~X`%l?tKi$7*O(-Vj}ek9W~ zFjKvD#~v`emg`Bhe_zGaQmQ26bj_3#X;19XPPOPJqqP&k3u8I#1uRlig1K2ji0U~! z3}J%*_7@zI=p!SQTY3?U3k_GtqPMM)Jhxf~1W;B)x3lAZ*)PV*)iu>SQYj_1)APZ>!i*D#+34MfK1|+EU;UTjTQY zSqFJjreM7^S_l@k(OwktQbsbfTyOC1$O$UxqIvkQ(n!-Zn?sX<{OlH5zCf9fRL?q0 zj!L1*62@tbKY+o1XN|96wx#$|?|CuY>?x#{S4pG69g3wsCea&Jv#&MBQ*zk0b1=EZ zS+VPf(#tj9vq&LjGwk~sHf$*ceb4Gsh;32Q|3aQ3)wbt5`tLx`pUsp}bqOF9%p=6T4b3o#{0N>c-Du%x*1z zf4_;pa~CAxUWjKtFSrg;yk9+i#1~g`OXv-L$Hw?WQd?jR(+MBtIsfYhZfL|>Dgpn7 zJLho;g%_GVrksWSTXE#0Sq;Yej|=KYH8KvgEbZ8kDh3X;-vk+dasLvqiOwkACxrzV zn(z^};>-a3mq8ykV9>#`xq?=FCn>*6@bxc8{eb+gAXA6{%@XE(UJZ`iG&@_fwBI#niNI8rJ^yhR= zoM?XkA6H))Q%SUJjSfDzySuv&?(XjHa&S1f`@sfx7~BVUcXxM&!QF#Iy+TsuT{0mv7oZvjv%hkj>UDM)_FY&w6c#_Q_dyq$8-$r)NW(3dRDw;yevj- z4kP4fSZAH!wI&ffr3D=EHP)1=3<+uR$7LQ(0t{CkRFYK6c@=g`mbGZOnXB<+}S{uH7&4K`en+;88wd$ z=yg24HF;!`n7ROI>KTeftd(HatY%f3uu5I1)U9W=D~e>)kwrLX>ldM1piU`tr6#Ne zJ)mwd3ma)f9WwY63S~p%jFlC4z(_3?#yCI$3f#$38H!O4qU~^^!FIcgQ|<_%ZWs>v zdN%Z@V+A-{;pmFJu=5x0FoS%^+E;_4aREdQMLRzfJi&pAtZnUeQ`K`@cw0qt9&wiz zahK$HcbrK5KZ@R7z!Vm(N3a)rA{5tuk(-z)L1t)M0l?MwDwwt<&~g6|Y|DUb-EOlx zXnU4b)Ehy&C}Fyw>HGj{(S1Jwf2q%ZBXvILpXR;Sw}dWi~qb3e7vu{ur#?04WmWkItY z4RSfK4D5m+Rw+=1x=4aZ|Agx3Myx#Xaqb}BlPCKa&Z3{Z;DVaf70!j$Z~_hQ5iIkR zlfFdD_gG{Sc7}XxE{w`zyMxmwnzV2(4{~>bu3Ru=$I7OMu(OeXgdG3w%{X?%iS*=A z5l>SugS|FHQG0SJ$KABrmpgTd&-GYriuVYp%;w&eUm8O9*SZ~L?n}3@L16q_EYX~! zu0y{=?Kw+Js7~o(#X6{GP!aW>wwUJgILDHg*0}fxkylolqi7IDL%C<6^Pq`m8)6V| zBJA7RfJc>)pj{1^r|acoENjWpj2SAhE91PlC)AnbB@DUPWyH1wpe~jFW7ADy>0APG zU|cYwd{(2ZIY^uQHXF&|AgnLIm@^R?{2hHMNw6L-4PY*u{NVWnBWXVHg9(0x3~WK) z^Tl3Vi@JU%3Gf)meWV*|>6O;%lgTUE5h=7HOZv$D2WCITk(nDI;}d9u+w}t&8ZCE* z@rwR|i`RzZ`zZ<>+QhWIFJ!y%r)>sa74^_IBTEMQ$o%wTI(_pUAEX~WID;@$Qr&s( z5i3gP^pPk6THn*nf#Zd=F^$cgWknv_-LH?~b=4d}{>8tyB+KGHkQ1;GpT_04x#)7Y zM*VR-o?!>yXsW#O(1w-qMT3!YzRl{5tAzp0kx4th zW5YKbA_)fps8_LL@(jv5?b+JHhvL19ViL>ZnUuM7IDGJ88$z;^4-$C^H@J8QA?pFQ z+%g`4-tfslyvV$u7(oPszfz-q-+9k)Gru9hMzIGvLU??{Y=fgi?z$(t5%91lZI?V@ zKsKuRWGGzG3&KKvjNM=&&7J}wi9VnM&Bt~q(Ar*QNU*Kin?Uko^KmWE+%n zIYvRwhGEx+MF(d9@w4AxXAZqSFgEW7KYU=?{gLa0e#n2KBntibxJyF2Wg9gU$dUY% zYz6EsYQJXuLr_2#cYF&Kf|eYmqdb&5YZS-oNDI_8 zu6yyc7o2YHw2~=PRyPyqKLKCL`I?!y)zO{*w~EPnBXvDE0n+vt0-oCg9~{P5m5P|o zEm6iO-ioQ>qtDSMq+)QqIF)zkjUjN~Bve z$~Pa#8dvFwQ$Z=L5Z1D2=sXBvNR>&DXdpi!O-!!u8Gl$jD&$>&>9>rBF5+)*-<6p> z(FJD*m^`Q>YkFyunlzOo1uoB+9Jb(xq$PrPwjrWcDXjm>(1;z_Yp53A(ggap8TGr! z%}y|-5AIIp1AIe}@FD=0d3$wl*WZzMi_jwE(1XUSqw6NiE`A&;x*WB%L1YIB(4Z5X zw2+5_213wH4dKtUrFrguOtwn%v{;3jr#t3iP#}}6NyNgqw#48dBdeea8SJ+Sa1`-1 zvK75p0t|CX73)(?1Oz}VJnVl%U?Jo8K_3Fa)0%Ch2z@L6JSnl~nWH|D|I@d?I)&Gm zA(ssS7iuF6)&LF$rU?>MlmTunwJx4ZsX&pgipC%dVNi{sP#bs- zm=`_QVjzkVzk~myIs3_)G7R4rk;D7@iY=lG`0Nj3j7~hl5*$V*z>s-b&Aa{byjvuH zjb8!EE9WvPTt_=0)70_HM{8Shx}aCMzExY&d6Czyv24fXZnmai>jusiZl&@4qq<$# zQk2SFLi>e#;!vr6#2>mfetjb{*JuBbv3qHOB$H89p-u#tu~q#s$xnuD@YxC zlUTu_lwaEx+E}Srp3+D|3m)J|^~O?l2+pv+py zfNVB^_K8dM$qpSl3@KH>3Y8)|TzGL!brU@UHyzL)H1Xtq{|hGCaZlV%5To#cXw$BS zKck7jQj%3IMy2N(4^CE}mL1=Wb%@yByomrG7f{3*vevCR$t`&!h_;pQ{E)ucDB%DX zG7=<2YI3Pl_lDv3g1Fk(DY#RocfAqCfAvCn5A)x&v1)z`H1?O!Yw~5VK=mc`l7pO; z;ecZJE0}_i$&!)aX1IR?NmE%BLZQk%@PBhg>9wrNqO{u6dZ4l8*W>8Lrp%3oU)r1( zza=x-tT!n7mnpk@y?vI&&!%h7cc3~P}^?p2!jDWvo;4R8<6 za!b5w;_Rfoys&hm4||e76LmB1GKb!Tuo$L*n9H9FqKRpF_zbic?m(7f^;1g?W*|=$ zN#NszTVsN}0>h$W^NGD+7B`k$xc{#@QoLN;#zddhNqi1epV=n)li=Xv=iTJsUU5>n zX7Ytni^&vjO(b6tqbdAg=EHRNjg;mdT<2wlhRZyr)wUFv)OL&Wp+b`~rt|4noUZl! zQic4Yn~&LG4+<-uw}W~#C-ZYwr_$dmlOO?ACLnX`Z3(@lN}v6E^_nks0M}@zZp&Tz z{X8G#@GR)kE^z+Zc_Unf?u^%LeiD~bN+hpLoo#u%<;=c>&DTgxxV8OA8o*^hsFgoE zQX{BY#40~(< zE6~g2?^8}aB6TxQx)23C+MWczQRTUT10Hh&ntEq3iD<{cWL6gF-+-BV4?4IEJMuL4 z_+ut%R@J9}Dkm8=N9?``67iQhD!j}RlxOV)p=7K5#r1KNdUrkPE?=v4R+%8_7~Y34 z3{O}J*{$LQQ1Jk1MQLmLeep_{ht8LT!tz)dPwXUM+P(ULizii zcmWB*ERuNtB86?9*;_E(+XuO0`FWhd8JV0P$B% z{(S_DoNHUg;E!dtMEBS|M^G4JI5m(_-kq3L)nw>Ir&i-@?qQ7$ZZm}rR`IiU_-tvr zJvvOig#~=_cMb^<5DRD*jeKwFaryn1?*Pf}Bfnv`1PEbKpC7(6cl1;#ulrMN^^%SzM=AZm?<`QT)?Nyx_HXTGH89!C-bKuhkj%Ns1()iA7C&^9J%S-c2qNNb&_E8{s4n_PZGH!BN&*o6d`!Dngmb{~ZP*_YSxwEI+>|8Ak5BP&}>D z`bf4ipK*P8~O4N(N-D$R@u3%*n?OBA%UKvJ4}a|hP&g+=9x&OS#}NL zJ}kKpgiJC~KUKKF3X^xSUCq`o#=wB?UeBq-abZ-Mqv|=qfGY%+u*Q!QoJ_dzThwq8 zX?_Q<6xGPgcb=C%8duC+fkcvlWBB$89wD`-L2}{0NjpM`z3lRvI_Y}-jVcFRySK{v zHscC~;l7D3ZJcA=qf)@Ilfy&l`$0kwrzR<|#_k0}?H|#4<%nbK0gvvP8w_Ym>2P5X zD}Xrvlk|R{O-S-xbJ*(poq%uVEd-W}(aEBc4WG*cv<-GPayBXIyUeNE>JJ@=-?{)l z!?^yrjWLHMydf$@PZ15Dbx$T1TkeVy_eHcsyh12xI0Fekcm%)sBhCxQ5qZp((R`F! zRhA9s!_a$0P#VDP4XD0P3P!-+4e=`#2xxve9 z0nLSW{7LLURoDhsvvUgwWDwLrQP;?0=pT3dxeq_7*nsVi@X>7?b{&f zhbGCWayY*|^t7@`HpP0RTKewTAioy=@Bieki#H3*c(`2Y!+k!D>T$>rjBdBJBOj*G&PblA;Ej#16 zGjFJvq;Jv$%;%6911Tv=w9`b>XJe+MNvnI6on`U`>oYR&v)WnM`31#Txrq3sjt(g= zqOr!TE$Nb-?FZx~pmi1XET`w>tqdm)0YSs4102~Z;7a9AhP}S)x}_~Zz&y)?SAd1g z?~|sISf(5u8AkTnwQ&9P6hmrJk_p)U=XBKtDl{&HmNy&sq%yjROQSs6yhNl-K(8_ExW{@!^m!;*M;+%Mf zv2l)tuf2~w<1Z`10X7@po&NI5nRKJt3+9%41#hNddoeX(AzthNLNACore)u9vk!fP;HY@g7 za#5@|_)e4EBYbMHZ>BMf&`Jjyx(pdFu7dm2+lf+6b)eiZovC-Iq?lg8=7pY z`BtiVlQ&jvKtv4NZ!~mhEwr!Y)HhkIxBpJw@K37GR!`lN{h+u>^8Yn_lvoLdL{nYg8N%l z?Y=CoAql-Gi+2S&y3CNfL5kJL*V&&+ZTJj9wf36ftmDjz>q2noMAF;7*BNm@ zT7!pjs5J`o5b+Mpgq7->TLB{Mdt%Sat)0?^z^YV8fW6Mn)WbpIP()`98C|2ny|+Y# z59wXYKVt8Gpmqmkec1}k@ifC(B;|hG^c6s4J|k@g^8HN(A8D ztSOxmz`p7)1n6=*_lAVwKXH9?>=zUALABg9Apne!#GBzvb;fu45fG-l?TvspC692i z;ZOht&8yS%z~|A9y|Nok=Fuow5pYa@BOcJ@5;OfTV2z~w^2;b>ml<+!QZ{p zv;!mg$JaRjk~c)$uY09^CgfTo;!(BU;Zzr=tsfA4JmXSd6R4pMJ_&G+W5lK;t2N~u z+An@29QDL-LC@?QkQzcWJ6G&VK$nqVWOqY;(n4FcUlz*rtqSAxh$$U7?i&?GG+r`1 z68|@hzm&s=N&52Dd-?X|smc%h+_3s1k_QGZQ61eB;j9XsC*xHf{mZoc$3DJmSR(IG+poz=B%zwt!iMRo1Z+@VBd zU)|CLjz8*dnXWth3&N&2=L$;+ljHNQU2gq}@1}X-ATNwZs@%2si&_?Oxg&${RiC%S zKR+`sw4L~=ktY0|xODrrE+8A5?b^A7W6URo8wA5$t1r0XO6`bR7!Dfka&vWS>akxR zTJGi?J@i41D2}BzFZljI=9#qd+YR>I%@q2FC+Fp04m!W})3w%roR|U{ciLw=hD)c; zTDP$*{G<<$41WFi+OnWO18XPJzFiS@Xy36hUCMv+Uj{w&A9v)bGkOK}NDj~pTh}uG z*5bBZ`pEGC_Rg%dadvp;5PWwi_#Tq<4c z37=_#KS=|j$o$A8Py>8-8~aZ}XAq2F-&t@@sQDGk1jpHL7haKB1c}ecDo)G{219sI z2gjU(-r3e%2FK#bBvmrmbmUbz!r;bj_ejR&ldM{UEBDbt1ZsyKuB811iPKPm5nSH& z1>)>PJ4Lrpx2tD>fTZ>xGB9goHjdxWhXOvE#Vr!q zZ0^BH-UqH@oM=V%*+x6j4qNajm_itmOWD9E=zmzIkchF3CZiq3d{+o7oIb;tj5<8BAf3Sb-+46+&S_o2W3~Nd%^fLgE&5d};LG zTUC4ZT!Q&4WAl9#E7ANXYctGX0#mhKfD6aCpLF%)QjuWa!O=wRM8VAXp=gwA=95q) zTL=uZf1tOQL|0QljJR6hN_RNY^S9S$RqNS!dcbtxb4hDArsdQDp8R*7Zm91YFT5#8 zCnQ-OLw3%+x3AoUYu`6}@&d4WvEJnd?Ib#xLZv9w_a4Z$Nk}6X(4ab#fJ)mG`%|Qy z5`%h_ok&jU$}#L{Si4P;p3>T(3(bQsibO<5dj@_tTLJ>Zi;biL(|728w?u|r+@Vi5 z?*T+YDE%0yC^Hz}QGRw3dTA`2gL1f$rY?8EG%9bV@%|Blx`u2)rlHvTrc$ z{Ndj^-rgi5zWGRkzKFh>pgt4uz1*U4mlDCsL#lPP(t;x@4+QPiUnlUT$?V9qYlU?A zzYz1yj4CEVlojPK@dZvvYiP(zzhB~SH8{Lk+m>tf-X>ihTHDqEf%%nab7H>&LAT+# zT1aYY2oPy&71#=l8@cW?G9T?|E8vWBuPbZWncLI8`{gp{Z7vR?z2QV#8P<6$De{^Q z!X`A{?JEJRx%`Z|g#{UzxkYjh2kj!R@f9|1J(jcO_zMs%k`sMS;i~{u1?)4tAZWe^ zM4Og!sfl0yL%&#;fH>;I+AGcpxta|T7-9!qZlfOju484z5s(>GEbb=b>hmK$shw`M zmI-MKlU)$YTGnS*?MM+&u5bLAHCU&qc_#RO$!Zz)V)*oFe*C>jxoiy zYB6cXhNBUA%&j4?q_|i6T`SgvIA*8%Xip``4d6F8;Vp!`f&EKmB>VK{^#yde2pYs} z4er#H^goNK=RT=z z#Ft!Qb=)X?4qtWe#Qq$wPgwff5Vkue2gr77nRH+bs3XzagAZkp*q!^EC!%E{(dNHc zLO?SR-u3l}08^hUM8O-@zW-4(zk_hiLr0`b18X<&+Dh*_q*JpQJNL zm*X!uX&yca+1(@;RjP&n2NQpaq6Mz9EYt@IjTuS0EHuqe9B!stP^{D52E#S~V!UI0 zpm`@ObD9enbBYVf7Td7SR=SD$u;-0nGU!I#E<#oLOVk!lbU{NNedQXQhj6|QF`O1@FE1QE~P(!z(@%01(%0SzVVf`EOYMr;M!Wx!-~ z{s&VoGv4S9^~2BvB_#jx+cU|>#ai=n`}11dXYS|f*qxg{PdFupskC+_I+|X(!?f~7 z6WC==x==pqUA%{9K!y`!wlD5Lg*@fPN->%NC@JwSF>G|hjS5V^L4H^3?G_R=J@PvY zwN#Xh|Fz(8jo{5$9cO1tRe0p5(4Iz>f=%BQT~g{+>N~AABPMLpV^6sq zfZV@7-i}!}{B%TbN3bYVStPKm{i0XbqQ1|0KdVSv3f#En(&Zod;8zYYS|HbnflqY; zP9Sm5U^1gwkzl$nYN`A8CA6UhyFK_AzPU?4*Xp5*(`_bF%vGZ@I>mtCx8oG* z`v{}EqP9BGJCa&DmE~A|-4~B1^oa(jp30F~txwH<1k(6#akl=Y<>y{-59-I^0NmP* z&0SLC_vGm(nOiJA;Ro>spH)qBac(^Wp(*hf2Ay>Ccs18I|3vfyxSj#hJ=p2@bQx)Y z>h2wE%y3iA4^QnMpGmfJkzK7>9?ba$m|SxKc~(8ykA%4&vg@8ckH6;vdaQOt-DOoo?O2dZyHMgWX^~T8_dJ@DMIJm1(7AoVdw;b5pdIoubWZl09OL=g__3=Lg_WGwM9G#`q=oYPK!~Oo+YUYW zT0mDkmQ~Ii3YspVap>S(`&FL+K3o~^n4sfZ(J4W$vGi;xY?8huP(GL7lUNw zN{m9Pd8eu%R$SACmm!ov1WkU+%wjb?L#w~nJ2L03<>6WMrG=&fvYa8QK}JM<84@3` z5LUZr2uTXR`Z(LVAWYetj4F;8q&EBIjUbSYAV8F8OtqyK2zJDb$CLr@5iMO`c8L9dnm^zV7O#o z$`(JuxoYPE&^l^K|z%B|@gMt#{>4`mVez$-y)^C92o!9^=tlF$OA zOQ|DQ$Z!4}HB~gQ5WBME6&uV}P>-9^vxY&MCA~*;jLVGdbmKMGS%IB6jD9i$Z0u7}AGjTDrSlmI*u7IXwaX1`V0osP% zqfw_{bTzI6AMsWA`I5K$skvMHhCtB&QFy*+xh*S^%D$L(&LP|mcY&@LJ}sHqmbSUP49m5}jJBfD@+ak#tNWB8$I}xg z`OFei<}f%ar(GJ5RDCx7=XWi+ct<=$$a*hJEna0+i6NTehWHYEXj8(+y6t5G31(aG z@HsB47TYsG+*XB+{drh}L}F1r$T%y%nl??L)r%yU(sPRC#x-D{>%3I)poWy(QKdR8 za4!ueu99tsf>RGca&0c=mqiH&zHoinWU9O@gq&LPW77Z-P@=t@Mn@^v=zy)-YQW+D zN+HoMqmhYL$V25RS;cGi`(`*MUWAUbVUl@T#yzAO`=rj@&%36jVcOfohxV@cT7Ow( zQ83y0A@VtSJXD!ML%lj&Z_sSqTay_l`r!DzLo41j!g$}xea~?uP=9P`v!;}<(SGKihF>AE+X$lPA!_6 z6hUPcoM&G|Vj7WmO6Fnlw}8gfC>$K*%2X6uYp%V^{aK0#WASa2r+0;oj^}WI+g(fd zJr#8X!=RHLK=1m7Nv2?NQq5Q!O*IEysl2^{Smpvuz#TSR_AY-ICh}3kx+;dtDSU55 z|MF$^M~vAQz&)3CVU}rb+WEQq2{orif#{ZV`Z&tTp#L`(v<}zB;%HUE6KXaE$eVL8 zjOePy2xsa_dg#LnI#!e`(4C`;e|r_me_C|ru4XnaT9nutwM$)c2$$xsU3jOY0X;ut zXte_e9OoU^UskCgF)>vLf)uX?Od|4{q9mKL7BU8r)XIgqhDpsyx0U7Lgs z=gY+!V{|$ie9Inz{(<6U=X`SWD$r-O?~MQglu+(JF8HycK4W$(e5zyq`&;@0lvqtx zmt95Hnq6G2EwM6;P-z0o5sxyf@|r7^!r%&oGUIgMgu0}Y6_)h#Ukoy(nDV+KVRHQ7 z)j^)`Ox^XUJgpJs6Ga{vFCiaA+%b#7I>E{9^Ay9u>hIFHpMoL_B1Vy&Z~25J73Rt{ z4)ypaogaN&hXMziQ0Y}2aQ}XCsMbKzTF$I2EixCWN>NG+pHBN7A=C+!C`hKi8R88T z<%omw2Zb_4)3=KIf|G6*VRRn6{$9FvLb#gWkw30sLa#;E!uQ@y!7bExyCZ)OON=}R zl2h*cKf;9nD=xxk;t1E7Y%Azm>-oWQY%?_A78dK`Hm^?h^3_5jo|~KO@$37aFhwJS zbC~DZ9PEG4|9#T)2bIqvH!eCKLm)v`B7Go!+1zFSM`oOJCIs=WA_8+XWjq%&G5#I$ zq?yG~;Gj`YiqXU?IB#&s%M75DHsJ;q%fKls+b^Ngv?N)C&wH2Nr73ta;$xMR^?r3| zmsK*oVz-~qoSxBs?0j5y?f6e$eQ_8FfhRW#u=p;9!(k|XJUhWi zUe(apE;8B`UXu|?qCh@Gq}muM$zf3(KBkFQvH{qF=EG*1s;W9ykwY;*BTNML$lzzw zC@B?z8n~%&ZyD~slH^KpkMmPoSJKj+zXmgq7wLoZT| zB4p*nrYw`y(tcU7hYZ{+tFx==FE%XSPYL8``YOiZ*cSAX+W{+|!uR{xvzOs%)qamj zM=tiu!Je(DyBIdNCX-Ah84XWj-Zi#2lN9u18ck19u$N|XHJOjkg2>y3BsjB(78=)! z2?vkyW$nDx-=H@0&!kmB8i5;t?G<#0FkZR5iIOVZaxFCm*0cX2UfFB{?( z;YnAG!(Cb&S_iHn9%j4y`6OhuPR)L6cBP_yu7=K8+Ie*EPi=PdmN~6LoSx^0`g1gw z?^apLzzML>pW3Kt;d31GQWG^DA}Rb)5NoNxL~jeI`Yox(U-5)@4aZy_HV~gdfjDTJ zve=Ovd{KFWZmXAMr(`cNf`P15x;g%y@O6;$;N6jBgaOJ|D|2M%cuuX5OKeHo9g|RJ zJE+`wGiDL3z(aEm#8a6e&CDzfqY}cUpzxfWjE4G5#5k#xQA*KqB|t(hDio zW{z;nd9%rm`r|EjN1)=4Mx#WOUX;70dFoRrunyUrtTX2w;aCiSWv0p4&pBRHo7 z`N%hw*zq7Vc;>q8`a`rY{aLneh3r1946`Em`4ISS!6*@sv_4_x-MCNHWWnB;o$nt& zRi=jj@2s&bUIzBhW#2TspjVCR&-UC|N0tg2S2bV`g#w=7cOUEKKu0hFv6Rbb*vT?TI4CCSt5ku5NQK0b+31Zsp@LFzR z0?2`%F|Z_LP0)`K^u$m8qK2345kU1|hsG^GsnFZaE0=$ie?L4fFGPt~I@(?#6|V0- zRNqmHpUs}9g+v!1pAUo!U%(-b2zl#6^Fwb8i6T?^&ZR^q*FLsD&H) z5pcll?a&_+UkumbcS>^nn;sV~1Fzr+v&;z+`|ts<&oLshzj{W+26#>>vJYijxe=Cy zS7DMp{D+ReXDPw;tVJ0>@D6qj@azX>AM0I%4&YQMz!%I1LjQhQI$PtUV*Bdq~# zba|2L7Ymc&+uPiSN_MVd8m;gl`QYmDAsKP$ z2XC9gTC*Z9O7*eEH+xtIh9sk0MQ97+V{1}09HTC;TS^s!EcZzZkM^s~Qu}hD*BZG9 z^2rR%S;KL66U($e6rV{Re3J2K0X#t1Gbi`4zwJt!Hs7oD^x+;noLWO@LID0T%7y+D zV(v3kuTa%*j@OEhPz=#|C2;JGuzek{zZrf6w;KHMfIzUzZogey4rQGAXzBD%vJA)@ zq>UIAsU=yrlNFfWMMr`nE!C91<(TF%9?6bxZj1+?-t$cS@Z581KcP}nJ;wzqEvyp` zezdsyS4Th{s{2d-*?s$#$gUJ3-`bAnOmfuv2~NgIJ2Q8Z4WrBGA*x@2 zzi5aCcxkysI;7pITufv?n^Rpp!U6=4j;F`0Ms=i5=;*q&0RAswIF8b6Uivl8 z=Je~P0fDDcfUf6Ykiud`;QLunBtEU1brC=kKEy!3W1!Gv=gQj+RGlON86qlbVPo4` z_U}~Feg<|0azK48M_w_&KE1h9uHU`L%|gFq0`j+(T4)B!@o-vUQ-d;tt437b$xt+y zXy-zvLus+wUs#z44B0=b1k9XYbjyd7tm@3!9=|{HGnVl#d++Sqs?(uUx!u_5{|>pq z`v3EH8W{ZVR3O2?&c9er{{MV%?L0I{ZXOdjqeFGPnJMMVJ~X;^*Xp&E|(F(7cq4AlM zPG_@_{&vz?G44}Hf*HeR6Swp*r-lHG*mpNa=Cms=~;ib?*n z4Lv@A9}US{+9@rQN+!!Ih>$p3(-i1xMA2y z9kN!TR+CYV`p*4fOyG@*lO~3}YSdVX=BKskB;ir*@tw-t>JECGAF`6fv+0w zrl{Jo>Q<^;^w=@EHz*o5O+mn6oR-XHbDA)c2dt|`azxudo%Sq>rd}!+(y67ha>-Dbp9P6D3ND4iYa{)Of*V+1e)W6bU_C95EJ~_%y%ZP#0f~Xl2 zLoj$3nZ^fqamN7Uoa56?@x`+T|KO?fyQ{)8$Q*~$lIDh@wjO1%; zu+y8T-Fs z=i`x)Me&ywM*CIP#{LyEoLsG#tz1pa?JYpx)38Cc^Ju{8R0pL6WsH%}-}vXJ-|%T7 zXApvaAfyx&MzW&%!H$Weo1+?L=(q4yY*n8{?@L{GJd2{GilYk$5|4X1YDsNL!Vhzt z37%}a0Z+1hXB_@_?36$nM|s9#;;=fiOnbBqlFXzn3u{?nxoIw`n#(zWse)2Z8?lIT zrSc~yFhPrOqKc>GCB+x1vfcHxaWJvn3}K^Zf<*}TN=U;}x~5el_@vmx;di%#_snyP zSXy7Q-k#!5-31;;x|r)e7s_>`64N=n!XkQ0Zo@ zEJ$dnZYgY&QqvEW(7x@{F#|Y^X;<^Crf^(~nAWj`Ma+yRGX(g?Qblx-aWFQNkD1cN z`$ESSOK1fb(sFs}gLz)SsAtwXV5N!mQ{tP>OM8+8GY2LDVod!#(v5EGm3aCBKCi7T zaJco?z9v>o>lBMyA(458(AXpUWL_u#>9>(9x&iT#C?bGi7>{r`@|MqsFo%2-<|pS? ze5-qick`?9%#+to{*Gl-;vhEo`yqL;me2gZw8=jCqeA3z#5M`iYSxpdf5D<1{X|Uj z)S*A_FQtMtg`|)-LWf%t$v2!A2)(l*fDkgKxPoP@7^2wLDTcE9W-+P3ouSNRh$TbH zqpnoOvAcewUh?!be6Bl5n;iEu(xZsJLe1dx;B~X^4&ZL2%Cgwfs?yz&6Qn-8RXQN` z1A5h0QVkHhJ&cW|l+M8A~Sw*PI?jas`4Sj$e@o+QP9dJL#P)p(=$2S@k~ zNl|6rI2<4Ck1{t^6XU?n>3J_ET43NeraA3=)EABqNTkUhZ%F^Wv&(#|sbId?onlaY zkOc5Tbwd(EkRCzYJP8MTVK!~CfGSX!g@>XKCmCW&%Y~&H)I{}>Y%!!#R}#y>?Hwj0 zxSwjJc(Z< zj}jO4kU~F=bU!-Q!jE7OUX!xwrjHt}#ufPcoXvbQ(b)|wPgXlUX@n6sWHnJa5p~!K zO(7 z<2(C^FmAXu^Eu98;ZhSP8nV{0bi@pzFcfqdYlSh?mF#mcDS*NCWuF-{rH*nhH@Nni zQ*1Fo8+vC~FTBdBl>fNJMv$vR`u^TT4Sw1*yNHgR;=59vsa6(X%e_Wu?jD#%GTkC7 zsb?y)G|K#kmX(ipE+g9n_M);yIiTDw9!fz3ns3G{Z!h^OZ5erOR{9B!D4ha$GgTqZ z9N3vcpP->940~D^HF;AjxWxr*Bcdgki8ARbn_oOHN!CzUz>iz)XE3O_6WlzpVb)q; zwY8~$?-V6qQTDF<^L?PrBLkSLYFO>SeL+6z3WeT9k{|OJ82t(E0X!WZ*P{`XJb&W;V|E3NL`BmGHj>@*nH8Wg zUo9g1*j>u~XLvPt`YjG}k?v-Y8D&4}@H>R?oObWqz2Ml%s`q`pHxzIU+V4jTY9=`_ zR>i(mu%gA>>>2h%SLL%G?6rK!lQa!YrX{31?s*0!w?O!XAUSY{wT>n}8fZMtp7)Hp zXE0gcsxe*G0 zYQ_-Z(h^FcCmCmMrRx7%6#{+;uuQZ@9pp|Jn!;h93S?|_oU)Djrq}J}Dlf;? zMsM%-~O8C=GFAi-x)?EE>$!CFQsBbN)*2a;n5X}ef1c_usV7YPAGsR8g5^?WF5Jn0)*`NDxg5xVNr#9IF@8}l zYVsqlBQL3-`_1rWc5oj4Z6JjOWLwWnFAenylGo?Mcj0J>yvoNyPm)&=H#SwrtX1P5 zk$Dv@bBhDq+l#o%|DdN5&&CTTLXwty9?HTcgWUfbiEU&qb}Fc^)o`o&-^kknhN4{Y z`Nl-C(iv9E^{fNeCqES}OupYyS$iaWKAq&6B|x!G8Wl&H0A8DLj)D7?4d=}fHD#eS zGj+~=&2#A#ZsC^NKP40R1j}(>r*M5dWN>^Gn;NaHKqdHr>PLdHo`*Q2bD7H`kI?C3 zzsbNXRRX)|Ir@2YQ2At9l&f<{>bvf-ewEZeg3O|+L`#Du>uSFW@66Y@wZGbibfehJ zG%pzQaWv_6>Ab%^7z6k4YS3p)7w2dxPx6#M@LfJ4+|x+1D%FKaHHxmF&Tfpv4+~wr zXQ3R2C=y2TZlG3&&}k$C8x7U8hv9Rmo%siA_Z6*IoGJhALU>GUxLXdmuw7f0~_vRC3l7@=PAm(C=y0hTr2ynnn;2#`OywBAng#nuM zxl~W*SA#)E*G|{dR{Hzv6Sfh!^~e|s9tv}T2m)zr2PK6lYAAJPs=Hf>*k`jt#Z)e&gK^=*D2)m4Rb!IF&;)OuLQ_wExc6ZgbC<=14)& zDVx#^qPbslz{y-n{W?@MLhF(POH-{Cv~2}`H4i8I*roHb62{Kgwb zEdkOF3cNlIoP`_TFH-OSz=;7=v1n_4wsg(EDON}pE(v?WRJy$aI!Z5qlhjWF#+Rw> z1^k2%!pkRCc@`MAUenSa$7b9($u z1Lx4n_02K{!cUe`tZPQEemJW1bD87iXp(W}AQm_mSDW%q-_Uiv)OOr+;Z+>zl!WtCd-0G)Vx1`u8qO;Sg|H;%JI( z?{Hv3i+mx#aA3lVjD2�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 V;3?$)Jo1M@amx&F&%^&5`+o%ZZcYFI diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties index e0b3fb8..75b8c7c 100644 --- a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/kotlin/gradlew b/examples/annotation-processor/kotlin/gradlew index cccdd3d..af6708f 100755 --- a/examples/annotation-processor/kotlin/gradlew +++ b/examples/annotation-processor/kotlin/gradlew @@ -28,7 +28,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/examples/annotation-processor/kotlin/gradlew.bat b/examples/annotation-processor/kotlin/gradlew.bat index f955316..6d57edc 100644 --- a/examples/annotation-processor/kotlin/gradlew.bat +++ b/examples/annotation-processor/kotlin/gradlew.bat @@ -14,7 +14,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index a00c85b..4cc614d 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Sat Nov 03 19:58:19 PDT 2018 +#Tue Nov 27 19:16:46 PST 2018 version.buildmeta= version.major=11 version.minor=2 diff --git a/examples/java/gradle/wrapper/gradle-wrapper.jar b/examples/java/gradle/wrapper/gradle-wrapper.jar index 29953ea141f55e3b8fc691d31b5ca8816d89fa87..457aad0d98108420a977756b7145c93c8910b076 100644 GIT binary patch delta 46476 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

d1ZzV`PJaf;LURr$w8USfDLW+{$cK=5Uq0( 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�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 V;3?$)Jo1M@amx&F&%^&5`+o%ZZcYFI diff --git a/examples/java/gradle/wrapper/gradle-wrapper.properties b/examples/java/gradle/wrapper/gradle-wrapper.properties index e0b3fb8..75b8c7c 100644 --- a/examples/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/java/gradlew b/examples/java/gradlew index cccdd3d..af6708f 100755 --- a/examples/java/gradlew +++ b/examples/java/gradlew @@ -28,7 +28,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/examples/java/gradlew.bat b/examples/java/gradlew.bat index f955316..6d57edc 100644 --- a/examples/java/gradlew.bat +++ b/examples/java/gradlew.bat @@ -14,7 +14,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/examples/java/version.properties b/examples/java/version.properties index fcd42b7..f5a9283 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Sat Nov 03 12:40:35 PDT 2018 +#Tue Nov 27 19:16:10 PST 2018 version.buildmeta=20180713152249 version.major=1 version.minor=1 diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.jar b/examples/kotlin/gradle/wrapper/gradle-wrapper.jar index 29953ea141f55e3b8fc691d31b5ca8816d89fa87..457aad0d98108420a977756b7145c93c8910b076 100644 GIT binary patch delta 46476 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

d1ZzV`PJaf;LURr$w8USfDLW+{$cK=5Uq0( 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�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 V;3?$)Jo1M@amx&F&%^&5`+o%ZZcYFI diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties index e0b3fb8..75b8c7c 100644 --- a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/kotlin/gradlew b/examples/kotlin/gradlew index cccdd3d..af6708f 100755 --- a/examples/kotlin/gradlew +++ b/examples/kotlin/gradlew @@ -28,7 +28,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/examples/kotlin/gradlew.bat b/examples/kotlin/gradlew.bat index f955316..6d57edc 100644 --- a/examples/kotlin/gradlew.bat +++ b/examples/kotlin/gradlew.bat @@ -14,7 +14,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 2641638..01196c0 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Sat Nov 03 19:44:48 PDT 2018 +#Tue Nov 27 19:18:37 PST 2018 version.buildmeta=20181101185038 version.major=1 version.minor=2 diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 29953ea141f55e3b8fc691d31b5ca8816d89fa87..457aad0d98108420a977756b7145c93c8910b076 100644 GIT binary patch delta 46476 zcmZ6xb8IeN)HK@DQ`@%f_UWl@+qUiYIkjz{+O}=mwrzdCyx+~6dvCILvj3c9PiCz( zv+kOIcQyQu13>dM+|BWVfPkpP3n+mHG~PS?itojZZ*hYuUo%_%4Gscw4xM;Sgq^7H z3m>SCs*d&@lWt;w2W~777!e3SVF+(pR;z84>LU6@|I0>X17VCfO3rM4Y*6|J)B6ju z`?*M7x55{?v3h-J5sWa2zMWn6d5LVp=5`^ ze07xJ-I|qUI`_kSy<~#L@btxT{x#Nq7emsfYC(V8Fu}s{32~~R23#C^g(y<(AHzWPVt@uRw|XX z{9tVfaWf@K-q0JIyZRNVuzp~`fI3hn$9>@&+wz$M^`#as4%6Dz+s-23(H&X+t%KET zO*yensE>hf^r7B*RZUbZzP!OmBRER0>Aqs~?)HgNtJIoYSc^HRLDeaxsX{IX_K)Ih zwG_2s#XeL_IcMk!_OtB(YT&v@et$1Mw!3N?)mW{{Dpkd+0G;^mXlbc~qAJi4@rBy- zJUvN2KS^^Wq5ZNeQb&cSS9o0eRwhilROybG&**d;O<%iPxUu3DD_3C%^f9qmcP~I3 zJ$K(C&ORIC+;c$#qs_N?-`OW`U)o31;;T?Buux1{xFrl_{3kx5<_>$tfCT zhYD$6NV3BUgKff%J(1?dX$q)&lz}J%>tm%pGh-Qo9tI1s)T>bqgSftXH*O#`)bc7< z_{=-7`_ril_tA18+%A|Y4nO8b-^3xc+Jt#r9JVe}f9E9=4Z!p+uTEdfPbZ$rNpS+d zLZNj6eAMpWD?Nz9@ic0Aw4`;cxQ1%8u_p9QLXp@SlS7CLTTj+-=>REV+>R<@9MC#P zGWy?@;(dZU5^aY?_4mQ|xMbH?PKNFVmkpc14e+%TasV5vbhdSp-4?SVa2GkgsqODJ z1&lv>Y;Wa}3EHA6i=C~^aN^n!Qn(@nR#rNW48w1 z?q?BkBROt7+hqS}n}Nbo^a2}k%Mhnxht1QNXNf!lJ7#y7ps1vA%f^o>#gql+9v1MI z>g$)ij#{KS4*YVnVM=<_Y7R^5$^**+uFv z;;c_Kgiq2M5y%;qYFQaXmvG#ogAevj?dGq?gY&o6aGs+?_kqY_0Tv8wGB@7#gGD_^ z-gJ|G!ia$qa`y?`{&HF$RIk7K9gzke=lG-jboveH1O{yTwf>>Tf1>mEdEFZUqL2}h zMyQm)$b@=u=Nn<;hrqK2rO}Sqs!DEI{4x0C576hiluP>gy_2W)NG17Kona^@u;S+E z3syc5$4(Q@UVyMn$EH(Ea`C5`%I06@<1|7uXOyQ?@Zv93hCukc^!O6gJXWPxms4>( zg0pxz=me|NNP^P6U1O2`J$(Yn%aW5Hp1wStM*dwZ{LqzuUuVf`vkTH?&X*(_DHN(bA3Dt9mrlGX;Au7gjYg7j}NG!PId zsQ;8x5X3_9+c*Ee*ZhB%H1UoIBhg_JDsc@06|{*a@fv~wAJ; zEoiO}>x@IogOQimwxSh7>~5hbNmDlM+fw3$$mKTMP6G@x57RHmZH0bEcJ5E(EK5VrqC*#(IQlt&dr<87d~(QVdHw-r4U7TC;pi`1W6OpC)o zNwktsKp9w=m0M?@kYml(dXJQuh4e+v59jYCH0@M|;h06+3e8UUp84~#*_N)~)AIx7 zKp2ZJW3cQWsfp`MJ;~h~9*l;etiiIOjgaEFAqd(XjgIS%HJlslSena9_W6kc6t1VU z4%jmyj~cpozK&6_f0YwKt|6)5S>LB&JMm*G!!?X_!j-yqU0H7@Ho{kHONr?7#U2q# zCf&Az?nk3lS_*96Z;}ARAIg-?3&5;L6;D`6nTAQiDn1voN9rO~wI#wFPcxjGQQv+* zctyg;}HcmP;ZpeEDJAqzjLZG@#z#YOX8e(7^T@* zY|*jF_SkC+t+k%y|NYBwXTP5|0g_0!uHkCgjwll!%0a-4_I<;GT~9eIM{Xv@F%@@) zOiHj4IAtdtsT%^#ib)P#)&V!+X9|+9inSvB)<7IWDg5_GVk#>p9-4jv2w%ONv~NOk zcG5Bd*G5dQIh$JFcuazSfLXL8EF4eK{Zp7!<# za_f-1OjbYoG*&}p<th#D#7FT%#Y!eAAGjr^`iexi66?DwW@hAGX7CTT`+D;#E*FyY>|GnMIpY}R}#Ic)e_3xVv zltK@2FZV8*>l5~yJxCh(3PAm-Hv1ONew1Z@kp2BrcKF7)xDs$A zrfkPz8c2;R+op-{5J@Z>VuPZ=Tb6X-N_pk7E(zQJmE-Mar9MpPuH;&s~WJ(e7puEl`J{PGMAU*(i5-I+azYVxJ1Jb~3U9nAT->uwM%cN^ktWymE(9X{nStF-mLUJk4yY~$AIxAJ z`%IS=4iISJ78=8RqEM34H``A-z;BW#Z(_Kv&Bm+m3c>-NQ2ze*2q@O;h#N(l(^aS^ z6xjk)3}+Yu*fX#uJf=6PX3c8sltiAGcL?~LM{_2vjbjeiVC*c$vooDOWBUAacv6El z>HzUBY>)#4*oyhg#p9CLT%>aA@`d-EIO8uYAkSHZZWK!-004%^bD__O^qM40>Rp1f z+|^NYhzxN3&Mo@S8&lDNys4PD>Yz&YX+BTc0_4`)x zR&H}~X2M!823vUA_8CBHc^ops(W*n)O!u|3!CM`mUHNJC zn-tYZa7d(ayAE~}CHpxFpWK?I`NlGDnPK)X06;aYQtEA!^Z2z*cAI#F(A{!EmE0wV zHG`}rW)tU(UK|zEB6@R{Ry=Z`M9w+!zCEMktF~q2IRRRO9H(Aiabd0O4Cg( z=@K}5x>|vGnmiRSBy+weGyk03mrrh2c^T)_)O4hTb37?Y;5GeJD%*O=iC+~^B#SN& zRn|sK$)5kWjR7z^u)n`nw68NOd!o>^ESoBKeIJ5-n3tA$7lNN`6m=zJ&{E+{mo>DZ z`cMmwnTSCUU`||xLx>G~(>uVn(|RM{EDxlqRY<_CA4=G`wG{jSy=^r7Mi=I*Uy9qH zU!&NdZxg<5EL3*W@Ibq%zeVFS8`E_H{3?&5)a44#j-R(N!bvd_J4@gKmRMca9qO%_ z?pg8}@6qTLLMQFot{q%`c5E%^;3WnyqxEXLyS8V>1E zFnbdYoCXt6$Klm1cQu^|^%@Tgt*+Ib`2KkzmJgc^ILm8#{89&FANRJD4hd%V*jugk z@6PG=o$F)!P2c`=I`>^F7H#pzMg+Lk5QEvIoWyYj_fQ@-O(MMLUI1?IZ}5^ z$7efMI`1SiOfNZV84$I;A=f%q0b(I9yK@nNHe0zRC9eY*|UzGT;+i3YJ zlMMYQb8)d@aYu%D>zwa;xBgfh_OBrn{&rqUhLhYphi)*V-VJ=Du;2vc`xP`szOaCL zCAOF~F_FO(E8NL0;uV>f$pt7eLMup{C7u54GhVv653a(umOH|G)EY%@u8LtrWX+!$ z%1+BaKCqO(>0snG?67e42MxYXox|4JK)Z{1tBx7pc0Fx7@5h$rOv_1b8daLc#AD{# zh`zy%7;Hmlw2fyOsfu>%My2aMSt|mv4CQ`a7iUBzFys9$ZGLzcs zsX1g_!Sh_KftjFX6lpL7f4@P&+yyqDg8kNst6z0!fIun5EZaQu5O5(%~zmT z*TgG#EVH7~dTJKgwL6#|AC$UGe&R?Ge`Dp1Ms0r4F(msCIVquhWF=k2uCS$2MyfXT zr=ijVR=MKWNgf>Sf+kRSODS)-Oh+D|u)y+DO{Lh>xHz#Symf?5<$A(OyL)!uSbQdu zio=l-EYj^X7ZT&D!=ym!KZpE z%PtdtR8^GOF=ESDY?F!OHXc!=o1rztRb=`0Yx_@9wZq44^ghsh-XtDJxt$?hITN4r zpGozf6LKGje}Ws&kEQ8W-Ku~1vs@O+P4eZ91`cBSu>-%p?AB+V-l6}#@(+yB{J8?9`V$Vq>YnhZSBj&X7n4%&7LALv*(oy zB3RCf+tBZ0bOwQ`eR3vzn%!~5zR4x`BetLXK{QMXeAGOk*HyJAgPpuZC6nH2m7jjr zjm9Ld%e=xXJDPnllr(A0^THz7mDc0xJ(`+&lEP0AwtAdm5u>@@`2bhOLt1p-2Kj{D z(hJ$uZ#;Awjq(5(PnyaRoJYZ3qA*p7UA7N%5EbIFI}zX*XK<|-buFPf4h>T@FO|xQ}$&cD|hI7y>ai{E0bF~^P%9e6v zxr;n=#WLM?j`H+vP`-XW<6rsiR#RuzE3YAT;E zGQ@a_zG^{(t-|tbIam~cT+6fvJ2fADrg;d0N#m-i4CMd zWa-!$(WxPCagV#PEVhW+yHE7sKOep0arNduFB_|Pwe%4vs#wJA5AX8ftV@M0p(z_M zekCdw4R)~;k4}3<;**&u?ezn1V&!Sw?#20?3D0Ab@3-V#D6W{B}H z&(+*{g6;a!+8f>fq(7VfFnK6Oy4D3`X9&a&e#aM{`(UA!(#Ia7BLjLs_Y-I~H#M0x zl#j!^g-qL{8)euI^9f?(snp+rXNfz>5!p6|8eBio-TUrpC zf|0x`K+=8S%tS580`GK0GF8VN$s4LQ;N7r_xvl@@`Do(!uZG=6A=>*l-blqjs8QA> zTqE?#M?L4JCMvXuRqHBdjU5pB#oRFnEL4BE*YujF+zlb+CJL+&#npTlCuD!m7^ZXk z9z~Qb9ZdXm@mKU&U1xNLCANZb;;-%mnkH1r8xtvfLnU~o=;3q;MAmQu!*?q0EpgaN zvZ0w>b59{|`|Mm}#@_T~8MC84$8}D?3sl#4V(P5;KE;)y zS*@^N**!%MI_AQxbPgoi5v@pZ{~M`(XQVe>6BiCMnYfpjR15IwNqPQ7Zu=_Oob6v* z#mByd!ey#k^m=f1nXlD+F2FYD$7p=w3U0D)L z(tHGew(^+f=p59GOJcO1?ula76;d@+!LFDKdcPTR4En}QT*LZ?E(i?WtcCyq@k!jp z<_4;7IOD2g|KMxRuUEMGSeC0z$;!b<$k`O_C6HtyjWj90CA8KZER&PzN>e@$SLoJh z4Kcr<3Bd+CSo?>74#4^vq~)=yNZ!Kjfv4?ZhxGg%>AvlUgG<|4OUBzlDJJ;1{Im0R zy>s*7_I2{}{p=1BvuDo57j&}m?*P1M(h}&QD2|pp?;t3SH&ZcCvUHsvB3VPu?T}pQ>H=uQ`&d-QaA|O>{ts)&^g4C`Uw7{8vo7qpQkox|)ZSeiOPM=uCdG zF`T+9-GLU|dC9@z7?|3vCVcL~t*8HVc*DR!su(OPX=?FIYz&4T(rHesksiBq^BIut zu-JFT2?GLbJyf^kJTr#hdYzqm_E_8WZ25Dn{4W*MWqE6}u7l5+F1xL06rxtlQ7%%L zDNOKXrGU#Sy<)9#ztds5mZzQ<>v1Q2GH;8;dPA{!nR6i46DGaYm~88|kX;|Ebn_&= zw^tMVs&N{b_oI&iSKE$zjUCt8g>rvMn%s!%5s# zYhc55VS@w<0r61Qj$uryNHc|!@cLSH{m9S+28&B?Q5wZ9W|QYzC<)F~ydauF0gn(nx(xCp~qb zSvz@ViSBGe#`L~BdY1$Yj2XD0We3_gFBq_!Vkp92k;mkks1u9u~6;R7LuDHzQ#c-{Y~NLEgVK;^(V;ZszwCT?-bvejoXPjqf(k6p91 z9>Czsg{O_#^lUTCfn?(FcjG32AzZBnW}?k)czA|~LE&Bv8MtYw=8goZZZS1;o!-v+ zEHznoXR&;V`ir|eMZLQ?RiD(BU~dT*ryP6J8Y;c;$8|6laRULSx*3!5l~&T4hBYR` zNl#tr{R8!=M?Q@$6uw_wd7kqrW~z29Y+XuErs?6XG9#+9$4u)SN~hvX&a=OtuzxiY z1;f=NogPsKfVD4y>~(8TA@LP-UWmtBDCQiGF68SycC`?Dy>v!O+-$qg-OCYust{ou ztq(jAtvf(<+ycq?wf?$Lg&-b~?xhMDh=FmNQuTj{-!VJQ$s8hv<>4dA*N||zx5li} z>^ryQIc{i)Yr6+X;}6?5=AIqc@?}IU*Ii)bD9ywG;uU75wNEugS9FA%J2Hh1{R*i& zK5|A!MEIr^2(G^1NdS`v8KW&l>)%1dqS971J;4VR62R#vSAI9#*c0P24g4}69`u@n z@V|~%HD#~(my$!R3ZfIy+^ZkY>o>^}-O=6-M>9Fttwpqh-4c zRXp&~DHn~&l+hj*`=K4bw9xymQ8@)a@d~Hq6M)MBQKyA~z^K{5ozn&C{IZ}P1FV_b z1J|Ja;r2r+a`{9S_$z+SGUD+aU+dLq4tOsI9}Y4r2`j2wW{6MRl6QLe1M5oyTX8<7 zRYw`N_mjXhIGjVcpVx7#$N9Ql1dFb~zz)aK&x$9C2*}3=L6)ev66DtEZA19CNFT8P zJ=ssvb?=+~-=OxSTz3d#iY(0wHq!qX!Zl{wKN2IRKoXCxTma~>mo>+2=UO+?D_C=^3TN<|Bv4{C{rLfxMGx~2Zgat zAJ{$$3XD)%(w$DFzQ}9T2 z0{=if6${M0($CrFmPNRyDc^zM2=83QK9^aoiC!~{RIgWfAhOV20LRu1&>vnUd}~_l zuJCUIc0iWe*@Y<4a|xLnQ(Jqk+DvBo4Y6W(x;Vql+{;R^q&v;tkLB z=r81gS$DdUKA5&mIC5qO!scVkyfQr4y>;aqlYgzS#XWRC)qriwXu2^xaF3T0V2^GH2 zO_E_Ryov+;=29aK=pOHqsv=4CjMeZKr zCQJUO}rK-@@SK?EjsOA^jJQMKtV?Kf!>2v|@pP(EJw};3e)( zAp^5DAbn6*uz&dJJ`NuYans2`W73*UZ73^|gh7mP9gsLYkVDB1;}ErpE}~qF*eXb6 zx#kOtSkLU%i!B#Y3ac)MB_+()U1D8sx?b$Wes1Iv*b#1PdUoBtc0QiHb|w;M_&%}z zvKs|P&~sMhP9TJls#raXiB$k_7IkpY_G+py24QXPWC2~9?VmwjWJ&ezsWAW&$C z@{SrkcNmq1FL0*Z10`4a))QP`p$=JJ#gVrAa440$PrdWCJfLPQS3fmWer&*Af-F+7l#_x0}mh3K8^%IOgd16N86R$_%PWn@- zuSWIp000W>_T20m#D$3P==w~s30!I@c`%sS{;tlk`=x&x=BHyHeqI-!!beLG9&Lk? zwq-Yrl0wh`@nkWN1cesw?(*E?8qCFA?_)Jj^#Re&_0cdph2S~X^c zT^t;Ub()rRZQWcxpT=WF-$&iiGWC25)QvT}@bU@yu``T-T4g*Wd+Gd}?+Z(#=O$4M zEJ;3aObk^Ul#mGfivp0XAQjrIcjV1sdNtOp&e^jlEZV}uT`(S)U+v;Rz)lXGT6JVe z0K0&NewQPsGq$l;Q$YxP2Et)`QXRLV8-D7DtUHA`pN8pWQyEBO{&^;^l4vx=VYqVf zfLB=4J;u7Ci_9P;Ra%SO%txw6lvGa+amiupmz*H`h5>wjy=lx}Wm67_4QJu_dbG|$ zf?}?mh?4>-e^+oB;YC}+&f>xt|Dmjst&Tc>CtEZq1!_Tfb$C!vnM)GX z-l$B@%bP{VlP{Z}?G<=GI&x>Cf2R1%CqPDf^qcVjNSpt0#d1T*g)4Nl#xo_})y}05 z#pK08PfnC?pySGGA*2dY99H(;0`n~O(Hxxn2%XjW zz$NkY7&JWNu&qlo)!2(&h*6DQbTc{1FqShX!yS(kHF~MD;P!M*T5W55x5@j)a0Cl6 z`}7n^#)Sfhe2ePXaz&VvY-zp_D$Z|4Gi7$g@Qu}wYD2X_btsj?gfJRK`m?m^x04e4?e30`CozrIcw`DGvM=lt`$W)y`n)(hguOZmE8pV0W zgHz+lEHbH$rBS*D!%)@ipcM7=juED_@@CmF&xCq7kPD)618$YdpG}HrfvQx9g+qqg zc?+kD;#@S4A|PMU;J0VthAffUOQwL)CX_gWc+{Q%nH$3QRE9>h^;(_oI;?fomP`WG z4lj0SVKBS2bS9dh9Q{6uT3V|LvNc;BMhmr3w#-}RnZI*0vSb%uqS{%l+2WXegs0SV z?C=ySaN0$2fQDHfZZKw81C2MG)GK&JYRh1K@lw0dCJQ{&O(I`rYOK8NigLXme4 zgHSRCoB2Yh-1Kc6`oO`247((nHqy(rj`<#xzR5f-UF(3$u!O|_inUeOskK(#&WdVvBA(8&X^h|$Siv}0R5!uElcu1#eEZ%1r|(SnA_5`` zTbAoB1zjg%NY9cF0oIgragJ?t!8% zP>$se43T4bhAPSqRex(z!qRVvtx;ExGbXxmdLO+XVb+kV=AUW0l{AyvU6^Zm5mKm; z^-S#Et6=w9R(SMG7fJO($zjW_j`^kOA=ib=YgG-Gel!b`u7 zxhZ%16+U)J_id>mziyPVB(D_Y)WncG@OoVqULDn+ov)bHA+^Kf=Pzuu_Th2c?7FD2 zc@+EkU`dO`UwelF?h%C>N3-VOr|J_Wts$2h-XY9~HqR4UeVmw#`WwiZT)#IyhR)Uq z9JYbpNLuIcHmu0LVmDx!ZyYbJQ|M_!gM_>20nOEyu141n2`Qj;^dueMYJQBrF%s?Qg!Roxv)iJaCuPfdq= z?@d|j14>(5n~#2pBz$sX~jT`yh=ly6Z6rD zD++nO98l#Cu0x_4ht0jLJn$##jF0Yt#1JC{vuto?#Pmy-UA*E*Cu~@ryW>$}r6xAx z`SX5GooI1w8s29N+2iv9xq{#G{?!mS@TKpT zR%&$twT4-{8Z&Gmnuw`+Ve1Gz<0^Act>Fo7qOO!S^o7B7+X-C*=26?=S!MMenN#O4 zwNM97y%^+yy;tAzM9>S9_jOC!WcM~VSn94*)P6ff1mi|^%SZWJ3d9`=M(+-M zgB84YsvFJAl!$VUvZ0KO@_-(KB3zWN?5wi9NqSDP1k4C|NTZdO-pp7_<_PV5tScd( zf=MB*5O7!vTOrec>QNN^RQ~fTag*T{+CgCN$rus@1Uhkxkq!vNGsXAYzGPmQ3M%%8 zNNq+cnw?59@t$2ShNPFIjhEF*pvcRkO58d#%NU#F;@x`r1^9Ei%CHAs#AGM*g! z-zj@-Re2MEd)Z5LI#Ql`W#c0SzfN74;W%L8TZwY?(c{opxD##rEW+xJsu^@BaY^Y@ zH+}dU@Sm&D9s#N9BRm8!J{@d19BwIUx*7EN8;ZtL2{aJvBL%G*akZ{GGI6oqoV)?h z3-3leGJmz^uw*A?-5^<{uxK{yKBZUpCMTy`%c1cu)QRg~i8p4n`J&mafe2tG}>HC+@! zZE#YG1bm{H>R*Qkt-$p>Yk|$N(^Rr6vCQ1I^Z!7VhGyst5^EUOWPDSIRCJGl3G&XS zv-kB}Z;bBSe+=3qn5Q(sTc2m4D`>YK_w;0@lc)aow81f@?UiTX;B|#Uso4=9im-rE zu$XaLiD);OIjt^CI6e*q8>6On^p1GRoz8rJ1gsq_c6A?j__=|x@vV_?2v!Bv6z^U28YeD%@%FDON)D*06fS& z7f{(nci>s6t5f5w`d7|st+ETNn1j03AG|H4sJ(4-bGi}%6gaHy!bH{E!jPMNZydJ+ z40!EY)d7yRPQnfLM}yFi?A0Pe#BO=*rfRlNkS|d6mBfqXd`nY!^#Q~?Qh512wt6hIR9KV2ED-SUa{zPm3kp`G)3!n$W46I1|L;Hp0Yw#vtq^4IDSjI4S;ZQ<= zGtRMt-T-Xtzuiz$DJ$JT;`t$V&7!0H-0aOA zBsg&K7U#Qg&-GJtK>t=920%oVzHot7WfOYkfiL=@$GRhU?BapIJxBi!0o$vu4(M(1 z1n-#-xC6igQ@`yK-5b5i=<=@K<6tW_S&ow>l4yTb>+t_Qg;-qAWo)JimW-KJIb_TZdNDIgXKM4A+m&!-K?bFz9$lO(n z1kyBHluh!|l;@z*LF?pNsEA%n01X>7Pb=aELMJj%*kON79}Tv-=kIEW&Ty7`Cw5}- zCNjfRe&A}n{pZ=v;o=#8SF5ozap+&7X`YJdBrXB!ZUs*(fv^RdW8TIDS7PDKj##u7 zxZTN?l&KFju7X(OPnKm&gN#;D?lym-rpLwn@v}oaC55&<-{L-K0nG;_z&8M}z^a+6 zv-(;JGem4(X-tphIc`8cn#)LXT*bitd#Cmy36o#8TvK-IS>(!(yokC$<~&&NfUJSl z=0o>CSws<7IRYVicTG*(5foeOZf3Xt75E|ZXSokFzBh;d`N%t?r!v(8Ckx0 z!+Bs74C~=tmA=ycgCmZL_6(p{nGqth&k$9vx5mgb;o*sNU?E5sCBu%LCduG|Jo+QW zk(X+l^xg~cSZ8~JLvKLH2l7gK7G9I)Q`RcZFKbUq@)g#?Ai$dikr2T*;Vc3vs1`V%-44b8Se;E%!=?O=gIz*&Ra?VX=7nOR$kdq^keMTk=0abL@{M5&$lC#~|YZ$GSDk2iPrRwid7(hBW zh3k3YU*lndK%KG0gb|zNkJM!(5p{c`xoRF7t@@oi1E$#y%%+n~%oHD;p!@SjQjJeS zj!#4_hg?~YTz#8J{9AC!eU@_BAXg*wizIwQgwYODm{VfHk~!qp9SFow11C|=NSp`w zz`iRUioMaI`5rP|!It)|pqXG=%JP9*O#Wg=7ca%KZFqbL9WG;)<@T1w&8v-*UGNEeHrv;vOS@Viy1k2<@Y?w8T%@&^dOy z3Q7!j5e8Nd*-!B+9w|U1@o&(O1hO6lgh zR)ltws&$o`ZB>)s`m^?9MaK7xH*2CK3)E=r=F7J3H1EU@-OF@?J^_!22>NGyX7huC zrI-Y(QikGu)U;S4kaP;`4ez2@Xj;`HEBZBAeDm;_2OF0$dSnXKBcCmClPA5T^^7Zr zCR%+Db(1ZnWb6|aJ?DDg2e385ik5R$46U{!xtFvERmUVHg#Ne!qo;q?vc~~U^)y6m^w@>1m;E39<@oV>e3klDLbfRQ(IrrJQ=2rY4nbd zt@N&kwWIrKHyc5`4KGzJ)ufbZ(d1BJN;+EQyw1_>6g-k6)jM9{&NL2+i#DmIv;bY> z7ifAlw-BDZ3$jg{hsDW0DgC%xDvXQj_W+$vNxtcnVxhe$JF7!_7;8H_vs^ZMJ1t7y z_RI{>|p`dw|3n>V}nAjY^E*uyI!<|%L(V5VdheDI@% zt3c$?BUYlh=Ttg6e}5-IX%;hFs>EV(+x zL7WO{Su3sBBtxTvhnb;6gsq?ph7Kb0w~(h+F?hwoiNPFL*8*nP$mhl*`uAVGqldFP zjV=t}yv+7Et77S&eb6{(hUd`FVU*$q*lwZfnv}y+8_a6+di79km*RNW@3?IwM2?HO zCLD+%P{UjdjT+If`|Q(3+$%o~JEh_5Ar60#R`-wmcC*uoFXli?LosL$4SB4_r5%h| zs}O!XEfovwEkXv&>@aGdvjdsn5g8biCW8-PY0n>qos0Zm#mE?Madt^H+RBmCZD-0j z8%+_O54Z<{#dE)q|7(N(_3sF}Z|&L@w}~&^KN45eHjr>LzKAQ!JWW()Wab{ljsjeu zvrdsUF_b+ZCj$iac|e|unR%)Vh?4tdwvDYWe_FhKP@@4t;4Tct2fl`93`%hfLA)zG28sx z6uKR=y4>5zbGNM)b_%ylb*7}f0vNCo)qs@XfBIAAgH3c<37*a5s!`4f^2cJz0f|^tFN+!OO&e+7hh$ioT^WkTqB&taSJb(HU~RV@T{(%LRf!ARPr# z2r7IrgkwFJ-huKL2F+s%d;7AH=s?;WN(?SFREBm9lz3oJsa5hquk}?}t zHabUF%}v5uD#swp$ysQYd_;lQ@}v!VDa|z^zq^e&%pSe|YUQ=0^isq;%}ImgIdQ27_;F6-o}dhs+)pX>9;W8^x* zMaBZc%v`6>c1*i3f%T`YQ`y%Xl1i{K+FF{M7Q=S1?^Z^7=`zY^l3r3p?q|HoUT1>I z+yD4WAE|hY=S3g!lNk!_D_r<_|IHWqfOGIwD=A}q2^8JTlha%gnQRf3f0A}99aX$q z1=qyKTC09D>zCZizj75GkixS2HY076-9P#K7LiCrvfFB{2bQBPMU3+w;qGmm6;k|ydk z$j{9rao$gIK(c*-RChNkJ#}oU@b52m_S`_bWZ>9KM9#IcC*saf<5`#t*>j9xWG&$J ziBrLoai?Z}$|Z6f@s=;SBM;pUP(j@@1J}FlPys+itiq95a1!#P;$H-_Fv~(+Z122U z=h)h)ydbX011C*r?!xyg=%V8{!8n}zw_>pZ$JXu+G#hsEE(V~$8|Td(1s8XiFv1!X zLH|uAA0}>Ak5H@Ohd2@u6~ihPP4Q@=(vSvY1{vIBsN3AYfrsqMSP2_8&S$KUph4~H zJOeMnbX6__@TU+;i3!)J__CO|matt*FWM&;=LrmJn_?IWL#SLM1J-NqfAN(%)QlrW z>=Et*g-4ga=IUv1mfFco%0HR9s_#iZOUGl!HV$gByC@{w03X88BdD)D{+B+5Eao7W z2~8~nD+F)_Xm#{y0Qn>RK4F0)$>iMq5>-F3I8FxVw_szhkSMF@vQN4nEhzkyPhnDFA#l;9J&%7w zE=G&_4lyRo=h2Vq1>4IGjq|jM2Q4r^a!2ZKd}RAezjPy^vpStt(N_X(_cXrMP_6K_ zMv+P)jbnQ0_OLFj_HLv&)i8w6OYW^d+xvUe-{8Lk$L;S4nU@XGeQ0`y>?=Mg{r;Pv z%!g6Lix6LRlXpI#XQv=KSy@S5M&;ThK|DZ9kFCb=+OUEv0pBPZDm))i zX203OM&X~;fT$6ln>o6^#y5{@lkVj&v1y{_sRbFSPQQXyW=7Ygx&!M}{ohS)ll`XE zu-RJsKB~!gg(msnW7xNYbrV!I5YC`Mzfu|0nnV8%5dEVT9EF57H|M;;BsjVU4k27N zL3ML5&{l%G-$_K8Nk|4Gz&cH*1lg~`!W_MuKK5c+=?NmR_S1gY8#%#Ru^NqplPYA+ z*%@g)qhyc$ax)Tqntdyq$V?!WPPS~HfTDa;_^it?80^(tShG5YeZXT2S{=^Im>Tu7 zqYyicVLjeqh=I|Di{~|^F7aak?)%svB_Fyu3AG>`ryQuUkM#Su{@0$t$+YU0vg~Ga z99BQ#1~2Uv|LE{g2m=<8<7@uvh@NHpE&NOIzcUqEvuPVarpv&j4i+}rWCGfF*1!IS z)q=Hg-=C`)tsSBoRjCT@Cr%3fC0*(Wj?I8JsQ}3-E-PD1TmM5NdN%tBgt+JLuMhuj zgvv<80EO5liJ9?nO8pvsL?o{cDqJD=Q#9ZHpyOkhglpqXAX3TgRFGyRH|jj|8bGbi z`6R&dsM;2FDoLc%m^|2FZWFoJ8+RT&=-QMH+Ncz$=Tf9%o#Lc;k4)It2v^*1+)Svl zmig*V;HVviLvh_h5RqI2@_%_3&WyE&2K0;F=q!1GK~}QgoETvkuxu-O!pzIE-nvvR|t^Md!MI#V7G*f>Qgx8)Jjw<&$* zZNWIO68z6##Mw&`(G>G3p@Z6d)xxVibkUcsv($r-T9o`_R8yrrR_v15{grPW`cQ-$ zp0Rg6=`~wLb49^pW%t3h*%|3zH)q z(P3%Ao1q9ViZ}}e?2M{z^uF9mQa+0tNt2>{5B1LKVrwoNJ$U4lijelEYRMet{m++% z-)}%-!SHv2_Mk5cSAm!|Pxq;Abd$bo3#u-x=#3A=m|t>%FKxAC(1rb4uWb(Vli?;_ z6B+g7-TJG!V1e?5W-r%{Tydr0iMqV|YCSe^k~b3_AL%>{yrGo$Wt6p`xy}oRZ+?58 zD>xNYFCtyZab=aIdE#uhocHmr{wnU4m*PRtW(dmathnh)u**<_rY_-lifd7-n{q#D z=lMTeol}rz(Xy?pOI_-+ZQHhuF59;Gmu<7lwr$(CZTr^QaU)Kg9kJHidYdaUN6azu z%PFDe*^1ePWBa4Fqs;DX*^-GTBiDK6cN*r2{K)i088Vw2@;Mgoeps~YGtaGjC#9~E zL6b6LuqaVLJET>%43RlgPAwSef*B>ty!4%b0*w=5qX3Q%XVO$IO9KiM@C(#jD{>L- zgEqf{QcxwlyvjBdiSfKSbBs-XcAQk8Z0Vyx8;+#ErQRZr6ImiteA6s#8}!G4eB{*- z6qgz3$*~jMLK|rN)lde~G|2<>8_9$d-AQ76KHNMY6UthZTrT$=d95Gnk|h0(Bx)!^ zQ0dh%Jy(9wl-bKy=BoHNBKkW^C?qFVxE_?4(CM%AUi$MFo%Gd2B|ShWRE8Bv)H@`s z!Uw&m6uhjBEKCY4ZWB&U9krz1)W6_X*oG|ldT91q6y#csos0ymnp@UNrxA}=wT5X$87POQ0$l=3iK)bmhfA8;seXW zPxm{J;iee(@*H?*@tk}a`UdZH;=n5$Ms(=%FJ`w>rlau<$RtKE+?7oa5Hl7!&3$!Q z_Y$Mkx?sIaKH{XL%)&Kgqgj)%2pe|yMKzrb#(`}a)+G5{$}m9OfCSQoJKy97+pz$k zHtB{wD*@dVfI;sFHfQ{cxm23_OJa4}=T)nxGUl%`{p%t0FVg5z2r1Y>02I%ZeBXf_ z!3~nh%Nxqqzk=cl`YaY~EaUuddOcT0gPDIiW0sUt>T^QH3ywl`G}aEh!pbsDna1>H zvMdvj<+QdJxtLToRs0))0&<%YR37F4Vh3$UmWCh~i7k7kLt>tBr0VMq6^{?dAbanX5n}D1@w3oeQAhriWG+ zMYa%qHz!3hn@&wIM^;1QxZTwg0T zWkOtPA>kDu5u03|P-#yDW!#=O9r?51CJ&%t9r^W`9&ex{c8Gc&2n)DhY#}>eF{z@F zK(SamsdDp7Gnc5u)uxj(GqMS%^gG9WHkKzG9=JnQ1@ot1^X0Vt8!0DjC+(;v-eEed zyI$;IzWqG~KzcAPUzL!@S~vHAcH~UUk;Ak8uBw8=+iuC+La5HN8OfltFy3N{lkPd{$f_B;&|>a^eAbbI{MN2TA=^5s1?LpaAMu3jEr0AM!qc-?6{JeE!&t zS!FX#nwI~DlVDufRQxE4uPNLrNwu~d?D`cB>n*Ev*5>paGm~oQ5uD-vG5p_uAv8L^ z37w(b57^55o_%{-Rw*&+wsUv{0}z4AqfD$7X#%#h>qS7&iY{vW0LDvvU>LG>G-knE zSGPM;{CE;RYvQ|mrWGx~##xz;MZ&~}P460=`Y!e;luw71F+ZsuhrAuxVVE7s9fH5x zCUUTD$A%OF`(mpM$dCv5nh--GC2qSD2CgaG;9zglW!`Rbx%E9c-1S+zDC=dcY|87A zJx|APK^wvJDF1eHjHCHKIZ|M*kY&wM;3W5K^lzk5{*>JELrxxm-(#LBvcUyXr{3~! zKn=XYXJ1_8-l0|x2xi`q>|c=N-jQX;ct!Ec{CM-H(r-+kVCidt{yW}pRMb3BuNNS1 zST2E8ijrMWi4_yhC?`-W)dMLk(|=4qLcgFDLm`Px&qxAN(AF73eTM)c~=Ram$5;gw} z7LwPeAFbQwAdnQA#4Wa#UlRegxZDB+x$u!wba&JTl&7>&JO#YjbFxVvRbkQD@5S@hs$xdQ}6_RBg~rSfFjkU#gK|1o7TL-tr}< zr3D#OAiPtVj-RrwGx|T?KKIFdy{#tlL(xdw)R?xU40T@J_VWdA)-7TIs@{Eq`D9Zf z6?HG-BzK<$P9@B}6%-UiA}H5@IIO=aj%<++H$Q;&Hz`EtNqIK(17Yy`Q`(5h+=WT z6AUdsWDGE933%$T77(5z?-JzucXiyN8bz2m*X^;1T$6)fu8E3z8p|K$FAUu8G+@De zzs?y5;4x#OSrxYgw+R=&d|K=luWI3SB6%lhvNeoc_{-=W9mlQSyexeWWVthjGvsk` z`6FrOA%ifu3RCtGkKo1Hf3x~(s<%dxeVF&wZQ-+jpi}|o+!+flPV_dZk)+(-@E2RZ zb$NkYZYI`_E3hhJTkg`gg#rId*!T||0Y`FW5B0~x)%*b@kpBN8{gbdW4Gu_BF*n3g zMd2}&!c@l{jy51`G(;O@sH9#+g=FU60PkQ?uw3ocw4YnT(L{1bbT5b&4f|tE5u5By zAy1xIC$y?=W*Rt{C>sZ>i#^*_kBOa2b4LuO@!_6GZMoC zjI>OYXfqOtPJ4B5dh^_trejR+8xn~<{y+zOwghmv)E2ZzHp4d&;uR1uhEd16M zZX0+jgV2pK1g-DI<$t}??*DCoz74(q?(ialLPx>QsjW7DpI|atJDG5-AORpsIX1yd zOIIt&;*76hf=B&dH$;}n)T1LA6BvMjaJ8Wr-javk-21> z%Rq&@yG?)c|IRrM6{ImqM*H*1l^RtfSeD0hj6D_VfIcxa|;&tyzGrBJ_#8*QuY#*OOhyTV-PIMM z2Z6x~+$FpH?A3cAn4~v#!Na$K!7+v^LYVU%>z*{0F9S9&*`pT7e9Je`aR8q%Rpd5 zI|EDVB@FYF$yuqYltc#a(@rUUx;JgXTqR~D;q9)Vv`;Qqlqc*fOaPXRL0xq`AEpCs zn)>f3BN@#>EKC<-f&3S&ab?PVugFC-CaKyw=YGl!!tLlbruy>bC>GQ0r4HS_=kEUZ z@&4Q105FdW{(UT0%POX=ni)9Ch;L##c@>r38?Lq|pD+m|N2qq*Ox~FUEOd>#EBN)) z;aOcb>>*5-^Uthq1VG;w8~-{MCK%bb9M#>L@S6AC(#YY&?mxV>@xD3u4j0r=I7uPs zqzLuR+*ZAhvleTEH&YZJoAWS!ShBDD^IK zcl^{{L>pJ|XIy+Y7kdbx+6VIb2? z2+-A_7`gdBMBZ?QDFeL?wi|jD5jH|_#8ED@GEELajU88IUuMmjYYomT^Y>(7L=8a$ z;DoNpZ$ybhF926uMNVrtKPkgs5j#?b%nCv$-Wm{R^)D#Z*}8xc2b4-JbCd>=7`qc# zyONyF@aX$q?almmr=LgLyu^pRA;54v>`KqIBz)>Jor?#;K5{-upn=E_De??7xF$@0 zxls!DG~Ke9VeqC#@|xe5V5X8Dey=!2(0HD(ii*uG)z7?!j>d!#sw=7X32Tj*ra*emj- zGIARG$o+}=5RAHQD{^5aMsL*k8~qSIQ8|fS=C0tqqWZodQOA_gqs`wh#6wqXMmz##t3?6D${o%fLYuks&e04{eJiUH_s zQ1OQ3oLg(4RQ-4%*jP7$axOHEPy36LP7Vg-h7lvDn!p}OAX0U{ITwaZTRChi)@*J& zdX<5ZX5Dd$GV`F4gM;O{cYDg-M8@yXALtjE_?|?OMUY6rb?asV%U;6B5~2vLSldhY zF6t>uk=9t^HEA{S`pox#wXY}k)3ELzHk2DA5YSJ|_=jReHiH9*QrT4c!Tx<~$JY>0 z6XF|?LnTq}GOaCHgvpl&$D;z1AP@MgkW`EstjMro#rdpWi)C|W)xvq7&!owkUPxh& zHFQ18)yZC7+X&(lXy7?qwH|*=wH|*>b+WxbcLP4ac0|0;_~G)PNP$a)n0@U#a`hO2 zvYCf~Kt7(gPF)-Kz}EsUbv#vdJKqYcfygS9O44~ z%Y8bqdVZLH;cx{lq_cRe1~BRV#(ql!iUz!#-qtQQCdq`H2U9m)^7Y*T(W%*G6YB`1;Tgw-bcyCk#5Kh> zrAw3(Sd?*=ikrZ=S)$KD^DPF(U2~do_HKO#thOdn_==vP39BuNHV7o@iq4CeNnu-( z#|lF=Qg6UNtT%8Za~I0)q6}FQF{bfyk2!)f{wA#yX*nTdbKoeF0dT4WE9Df-k*n3! zU7o8=9I=9Y|M{p3*lJTsq<`DnBcI9ks~ds&B)0T@lll0idLqA)&Vm0x5*b^_Zkc?Y z%(wa+Jpw~g*^)gHN@&ZSyoACi-vY}*G+b0Ml^z1-w4_9!%>9HK$q`T71T%~|g$5~Y zN=8NotXbY@W?D5LwYHohS-fNF^F5@{?nO;Rn!!Bso2*xP&doP3M%C7!ym{LHT((YW z4E?R>P3%*Q8x*U<*A#(`_U{PKP*b&sHb=pFQPbO5{YkT`R9#>w+=PY8-KK?4+iMP@ zy(j_(RbMm)*Lo7h%)TYgwoNIW2^E9rv}cNUKckhIZ^eV2 zK*G>V6ng*u(b#x9f7Ky&60-qZB5mmKUrQD=4LaVX2F z`2>EKTOJti*IRS7iuCV#n^zAKt^duQolFF+v1HJB)AHd^4Y!3Gv_RaG7~PZmf}1@Y zUas#!*iT3eEu6c(@2Sru=oUFu>QP9M&y?M z5}qAq_m1&LI1_DH!iOM7v`e07iw~&wKvteh2o8r#Ow4TcO~f(D62BmZdvLxU9^br2 z@*jvj&&>XEVxNYE_&hqn%Z~TT13(}um|;xXTDe|k8E|%=aghHqZXZBFz;Ky}nY`r& zjue-1{@kXWj^jmnn~CX{LDYJnkh35Ogi` z8KJs|ew<baaI}$v#sJ3u&QoV~L=OTP`(S8Ztt}n4M&p($X2^k9MvtVz4LYiL>++7AKHgpIUenO7R(@_e zU##q0&aefPgB$6k_NEH9?Y{l8ZA34aVthz?1vk=P@#RhfP9qS8Wa9w0^aDEpJj$N%lZ zOHB)kw&&+~YmJV!hjMY1Z{zre`~Z#2Ga;LEB+H(Q?i>b*Jli=lgtTIhLQEPUO(}5I z$Acm+4Nj3ibn#0NP6$hmQh*u5NEFgR_fOs^zGF%01JEc`ECtC(4h&;8C`G9NxN)q= z0`;Rb&?sbV9U?J70Jo}tszq!dOkH?-BQC!CFUCqxi7|X-k`WLVaYgV|{>cnne6U}P zNERmF{}o?~uUC#n{ORE62?Tl!fM)>GF~;{ln%9GUHAZkNX~M`~1gq!}@G9{JhT)oU zi**FS4M)^jmmuoJnX-DtGm*(fMA{Pb!A`{iQv(fp^DU5BGew@)n|wssP1E;V1X%+D zr*Iz2_Z{1&eAlN*fbJJY-^!PiNHHUB%sxY?vKti)TP64bbuh%ODYBSxfSVY^b>b~8 zSn;h5SmRG<3pg|B78fkSzA2e~d%XYM&5cj@0|-uz@v#*C2V6Vvbw{A%%^qm##yi|! zPv8}J9K-l(*zx8Dk-hVp!0kmDch4t*eL9JyK40dp1ts z6|@NWhoKY8(0_j~?ISn@00ZN?Q6>e*2we;CYwj8&(C|XXNt=>KrSYxc-@*twRq_1{V8ea-&6y->nQG=YU zq+HzLCn6!egTr}*QjLd>2E2QPEJ8QMnad$hOMHruRDp;FKj)BI4PpKLEfHxCy><9a`P8qN8xtXwtU34 zwXQH?=xT(RuN7n`pD(V^PS!a~4N&B$?;BZX#lR@`+2NBgZ%XC_8t3!Auu(wkDwFfW zt_wKETj}rvt{ejd8f$qy@*S`~ACx!4v##dRjfl!r5@ycM;fXy&h6U0_ z{cRt?;%f!gOASPC$jZ~Clo^OB-{h{8DBFY2YHP|Cyv^!7lsX~HD5QAVe%?Il8_^Qg#cZzJ-Z3H{0)u$B zWGH|mY4l+Q41mI|>W9qGw(Vvu|BHYv9S2>(M7G+K6UKm6u*B|Bw#baZ#CDDAWD#pn|S~vpXN) zND^Xd7Rx8c*l8b>OD>*wF0=0KdfOuJ6w_{4eVgS5SjS;hrboMUwD=3$2Sii6 zOHKtLsvLdXxf|}XV8h)r4$vb6?0-U&*asNDmgVyMTW}#Um5&j(@N+B~pskLrw5S(e0UYCyB}zS%@gy3Q5yX zdYu9#pXY;svL*(OYC?U{kZ$6o)G#eO1MR4NAf4^!jET6 z7pqrf3iVTCX4NZCsVA^&US@6rb~866aKk4Iq8wK)u&YoaX{J^=kF7e{*X?kly!-xO z;jj&?{;_rp)o$f~6T4ylC$Qkm|2ui6C9OhT>Km+%fIJfI)|K>?Tzc6}r-y5KhIMM0HCol#Pk9`;osdLc>X~$Ox

d1ZzV`PJaf;LURr$w8USfDLW+{$cK=5Uq0( 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�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 V;3?$)Jo1M@amx&F&%^&5`+o%ZZcYFI diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e0b3fb8..75b8c7c 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-4.10.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index cccdd3d..af6708f 100755 --- a/gradlew +++ b/gradlew @@ -28,7 +28,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/gradlew.bat b/gradlew.bat index f955316..6d57edc 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/settings.gradle.kts b/settings.gradle.kts index 849893a..f9f14c5 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,2 +1 @@ rootProject.name = "semver" -enableFeaturePreview("STABLE_PUBLISHING") \ No newline at end of file From 4e72bd6c5af3fa3af898b4ba218e0e47e47f99f1 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 27 Nov 2018 19:32:06 -0800 Subject: [PATCH 059/155] Cleanup. --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8586151..1ed5b98 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -25,7 +25,7 @@ jobs: command: ./gradlew dependencies - save_cache: - paths: ~/.m2 + paths: ~/.gradle key: gradle-dependencies-{{ checksum "build.gradle" }} - run: @@ -40,6 +40,6 @@ jobs: workflows: version: 2 - build_gradle_and_kobalt: + build_gradle: jobs: - - build_gradle \ No newline at end of file + - build_gradle From 2cbea71c6ffff2a36c58a8f26cacd11b46239a99 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 27 Nov 2018 19:34:42 -0800 Subject: [PATCH 060/155] Fixed cache checksum. --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1ed5b98..d3e8cde 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -16,7 +16,7 @@ jobs: - checkout - restore_cache: keys: - - gradle-dependencies-{{ checksum "build.gradle" }} + - gradle-dependencies-{{ checksum "build.gradle.kts" }} # fallback to using the latest cache if no exact match is found - gradle-dependencies- @@ -26,7 +26,7 @@ jobs: - save_cache: paths: ~/.gradle - key: gradle-dependencies-{{ checksum "build.gradle" }} + key: gradle-dependencies-{{ checksum "build.gradle.kts" }} - run: name: Run All Checks From 53910122f4339319dab629838f6851d8bc97db3b Mon Sep 17 00:00:00 2001 From: Lewis Date: Wed, 19 Dec 2018 19:01:55 -0500 Subject: [PATCH 061/155] Add option for disabling saves every project evaluation Caveat: If the properties file does not yet exist, this setting is ignored so it can be created --- .../net/thauvin/erik/gradle/semver/SemverConfig.kt | 2 ++ .../net/thauvin/erik/gradle/semver/SemverPlugin.kt | 11 +++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index d27d57a..af6e12a 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -43,6 +43,7 @@ open class SemverConfig { const val DEFAULT_BUILDMETA_KEY = "buildmeta" const val DEFAULT_BUILDMETA_PREFIX_KEY = "buildmeta.prefix" const val DEFAULT_SEPARATOR = "separator" + const val DEFAULT_SAVE_AFTER_PROJECT_EVALUATE = true } var properties = DEFAULT_PROPERTIES @@ -63,4 +64,5 @@ open class SemverConfig { var separatorKey = DEFAULT_SEPARATOR get() = "$keysPrefix$field" var keysPrefix = DEFAULT_KEYS_PREFIX + var saveAfterProjectEvaluate = DEFAULT_SAVE_AFTER_PROJECT_EVALUATE } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index a16c30d..67a05e1 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -70,6 +70,10 @@ class SemverPlugin : Plugin { put(config.separatorKey, version.separator) propsFile.apply { + if (!exists()) { + // Need to create the file as canWrite() will not work unless the file exists + createNewFile() + } if (canWrite()) { FileOutputStream(this).writer().use { store(it, "Generated by the Semver Plugin for Gradle") @@ -86,8 +90,8 @@ class SemverPlugin : Plugin { if (GradleVersion.current() < GradleVersion.version("4.8.1")) { throw GradleException("The $simpleName plugin requires Gradle version 4.8.1 or greater.") } - project.afterEvaluate(this::afterEvaluate) config = project.extensions.create("semver", SemverConfig::class.java) + project.afterEvaluate(this::afterEvaluate) project.tasks.apply { create("incrementMajor", SemverIncrementTask::class.java, config, version, SemverConfig.DEFAULT_MAJOR_KEY) @@ -132,7 +136,10 @@ class SemverPlugin : Plugin { } project.version = version.semver project.logger.info("[$simpleName] Project version set to: ${project.version}") - saveProperties(config, version) + // If first time running and there is no props file, and saveAfterEvaluate is false, then version props would never have been saved before + if (config.saveAfterProjectEvaluate || !isFile) { + saveProperties(config, version) + } } } } From ebc945badc6836bbef64840ae7a20230788a90f4 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 20 Dec 2018 11:44:41 -0800 Subject: [PATCH 062/155] Dependencies and syntax updates. --- .idea/modules.xml | 2 + .idea/modules/ap-examples-java.iml | 2 +- .idea/modules/ap-examples-java_main.iml | 14 + .idea/modules/ap-examples-java_test.iml | 14 + .idea/modules/ap-examples-kotlin.iml | 2 +- .idea/modules/ap-examples-kotlin_main.iml | 17 +- .idea/modules/ap-examples-kotlin_test.iml | 17 +- .idea/modules/examples-java.iml | 2 +- .idea/modules/examples-java_main.iml | 2 +- .idea/modules/examples-java_test.iml | 10 +- .idea/modules/examples-kotlin.iml | 2 +- .idea/modules/examples-kotlin_main.iml | 12 +- .idea/modules/examples-kotlin_test.iml | 18 +- .idea/modules/semver_main.iml | 240 +++++++------- .idea/modules/semver_test.iml | 299 +++++++++--------- build.gradle.kts | 10 +- .../annotation-processor/java/build.gradle | 2 +- .../java/com/example/GeneratedVersion.java | 2 +- .../java/version.properties | 2 +- .../kotlin/build.gradle.kts | 8 +- .../kotlin/version.properties | 2 +- examples/java/build.gradle | 10 +- examples/java/version.properties | 2 +- examples/kotlin/build.gradle.kts | 8 +- 24 files changed, 367 insertions(+), 332 deletions(-) create mode 100644 .idea/modules/ap-examples-java_main.iml create mode 100644 .idea/modules/ap-examples-java_test.iml diff --git a/.idea/modules.xml b/.idea/modules.xml index 4bdf5a1..75b2526 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,6 +3,8 @@ + + diff --git a/.idea/modules/ap-examples-java.iml b/.idea/modules/ap-examples-java.iml index 4667d8e..81f7f8a 100644 --- a/.idea/modules/ap-examples-java.iml +++ b/.idea/modules/ap-examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-java_main.iml b/.idea/modules/ap-examples-java_main.iml new file mode 100644 index 0000000..820a289 --- /dev/null +++ b/.idea/modules/ap-examples-java_main.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-java_test.iml b/.idea/modules/ap-examples-java_test.iml new file mode 100644 index 0000000..671e6c0 --- /dev/null +++ b/.idea/modules/ap-examples-java_test.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin.iml b/.idea/modules/ap-examples-kotlin.iml index 33067fd..e50ce53 100644 --- a/.idea/modules/ap-examples-kotlin.iml +++ b/.idea/modules/ap-examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin_main.iml b/.idea/modules/ap-examples-kotlin_main.iml index ec84d97..18f28d7 100644 --- a/.idea/modules/ap-examples-kotlin_main.iml +++ b/.idea/modules/ap-examples-kotlin_main.iml @@ -1,25 +1,18 @@ - + - - @@ -38,7 +31,6 @@ - @@ -48,7 +40,8 @@ - + + diff --git a/.idea/modules/ap-examples-kotlin_test.iml b/.idea/modules/ap-examples-kotlin_test.iml index 2e17efb..8a476dc 100644 --- a/.idea/modules/ap-examples-kotlin_test.iml +++ b/.idea/modules/ap-examples-kotlin_test.iml @@ -1,25 +1,18 @@ - + - - @@ -46,8 +39,8 @@ - - + + diff --git a/.idea/modules/examples-java.iml b/.idea/modules/examples-java.iml index 6260c53..398cc36 100644 --- a/.idea/modules/examples-java.iml +++ b/.idea/modules/examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java_main.iml b/.idea/modules/examples-java_main.iml index 64bd9c4..c86e055 100644 --- a/.idea/modules/examples-java_main.iml +++ b/.idea/modules/examples-java_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java_test.iml b/.idea/modules/examples-java_test.iml index 01be4f7..8ce836f 100644 --- a/.idea/modules/examples-java_test.iml +++ b/.idea/modules/examples-java_test.iml @@ -1,5 +1,5 @@ - + @@ -8,13 +8,7 @@ - - - - - - - + \ No newline at end of file diff --git a/.idea/modules/examples-kotlin.iml b/.idea/modules/examples-kotlin.iml index a1db27c..311f2b4 100644 --- a/.idea/modules/examples-kotlin.iml +++ b/.idea/modules/examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin_main.iml b/.idea/modules/examples-kotlin_main.iml index cf49b10..386f187 100644 --- a/.idea/modules/examples-kotlin_main.iml +++ b/.idea/modules/examples-kotlin_main.iml @@ -1,25 +1,25 @@ - + - @@ -32,8 +32,8 @@ - - + + \ No newline at end of file diff --git a/.idea/modules/examples-kotlin_test.iml b/.idea/modules/examples-kotlin_test.iml index 0abc128..f1becdd 100644 --- a/.idea/modules/examples-kotlin_test.iml +++ b/.idea/modules/examples-kotlin_test.iml @@ -1,25 +1,31 @@ - + + - @@ -33,9 +39,9 @@ - + - + diff --git a/.idea/modules/semver_main.iml b/.idea/modules/semver_main.iml index b736ad2..17c1b11 100644 --- a/.idea/modules/semver_main.iml +++ b/.idea/modules/semver_main.iml @@ -4,17 +4,18 @@ - - @@ -34,6 +39,9 @@ + + + @@ -42,18 +50,16 @@ - + - - - + - + - + @@ -62,18 +68,7 @@ - - - - - - - - - - - - + @@ -82,7 +77,82 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -104,6 +174,7 @@ + @@ -147,6 +218,7 @@ + @@ -164,16 +236,7 @@ - - - - - - - - - - + @@ -184,7 +247,7 @@ - + @@ -193,7 +256,29 @@ - + + + + + + + + + + + + + + + + + + + + + + + @@ -202,7 +287,7 @@ - + @@ -211,7 +296,7 @@ - + @@ -220,66 +305,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -288,29 +314,13 @@ - - - - - - - - - - - - - - - - - - - + + + \ No newline at end of file diff --git a/.idea/modules/semver_test.iml b/.idea/modules/semver_test.iml index e5a3860..35a2d68 100644 --- a/.idea/modules/semver_test.iml +++ b/.idea/modules/semver_test.iml @@ -8,13 +8,20 @@ + - @@ -43,7 +54,133 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -65,6 +202,7 @@ + @@ -108,6 +246,7 @@ + @@ -125,101 +264,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -230,63 +275,31 @@ - + - + + + - - - - - + - + - + + + - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 8f95ea5..4cf9e12 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,10 +4,10 @@ plugins { `kotlin-dsl` `java-gradle-plugin` `maven-publish` - id("com.gradle.plugin-publish") version "0.10.0" - id("com.github.ben-manes.versions") version "0.20.0" - id("org.jlleitschuh.gradle.ktlint") version "6.3.1" - id("io.gitlab.arturbosch.detekt") version "1.0.0-RC11" + id("com.gradle.plugin-publish").version("0.10.0") + id("com.github.ben-manes.versions").version("0.20.0") + id("org.jlleitschuh.gradle.ktlint").version("6.3.1") + id("io.gitlab.arturbosch.detekt").version("1.0.0-RC12") } version = "0.9.8-beta" @@ -23,7 +23,7 @@ repositories { } dependencies { - compile(gradleApi()) + implementation(gradleApi()) testImplementation(kotlin("reflect")) testImplementation(kotlin("test")) diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 96e08d3..c65e6e7 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.8-beta" + id 'net.thauvin.erik.gradle.semver' version '0.9.8-beta' } // ./gradlew diff --git a/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java index 24315b7..589da2d 100644 --- a/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java @@ -16,7 +16,7 @@ public final class GeneratedVersion { public final static String BUILDMETA_PREFIX = "+"; public final static String PROJECT = ""; - public final static Date BUILDDATE = new Date(1531208748879L); + public final static Date BUILDDATE = new Date(1543552509400L); public final static int MAJOR = 2; public final static int MINOR = 1; public final static int PATCH = 2; diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index d12ed01..a098b00 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Tue Nov 27 19:16:37 PST 2018 +#Thu Nov 29 20:38:43 PST 2018 version.buildmeta= version.major=2 version.minor=1 diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index 8c4f694..a6d85aa 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -1,8 +1,8 @@ plugins { - kotlin("jvm") version "1.3.0" + kotlin("jvm").version("1.3.0") application - id("org.jetbrains.kotlin.kapt") version "1.3.0" - id("net.thauvin.erik.gradle.semver") version "0.9.8-beta" + id("org.jetbrains.kotlin.kapt").version("1.3.0") + id("net.thauvin.erik.gradle.semver").version("0.9.8-beta") } // ./gradlew @@ -18,7 +18,7 @@ dependencies { kapt(semverProcessor) compileOnly(semverProcessor) - compile(kotlin("stdlib")) + implementation(kotlin("stdlib")) } repositories { diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index 4cc614d..e83411b 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Tue Nov 27 19:16:46 PST 2018 +#Thu Nov 29 20:35:47 PST 2018 version.buildmeta= version.major=11 version.minor=2 diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 7da6bd1..2fbb520 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id "net.thauvin.erik.gradle.semver" version "0.9.8-beta" + id 'net.thauvin.erik.gradle.semver' version '0.9.8-beta' } // ./gradlew @@ -15,12 +15,8 @@ mainClassName = 'App' defaultTasks 'run' dependencies { - testImplementation( - 'org.junit.jupiter:junit-jupiter-api:5.2.0' - ) - testRuntimeOnly( - 'org.junit.jupiter:junit-jupiter-engine:5.2.0' - ) + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.2' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.2' } repositories { diff --git a/examples/java/version.properties b/examples/java/version.properties index f5a9283..00dcbb0 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Tue Nov 27 19:16:10 PST 2018 +#Thu Nov 29 20:33:16 PST 2018 version.buildmeta=20180713152249 version.major=1 version.minor=1 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 2739fbc..1a6b28d 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -4,9 +4,9 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { - kotlin("jvm") version "1.3.0" + kotlin("jvm").version("1.3.0") application - id("net.thauvin.erik.gradle.semver") version "0.9.8-beta" + id("net.thauvin.erik.gradle.semver").version("0.9.8-beta") } // ./gradlew @@ -18,8 +18,8 @@ plugins { defaultTasks(ApplicationPlugin.TASK_RUN_NAME) dependencies { - compile(kotlin("stdlib")) - testCompile("org.testng:testng:6.14.3") + implementation(kotlin("stdlib")) + testImplementation("org.testng:testng:6.14.3") } repositories { From 2baf69cd32891952ae32dbea8e223cc4592b56a3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 20 Dec 2018 13:05:51 -0800 Subject: [PATCH 063/155] Added check for required version properties. Removed savedAfterProjectEvaluate option (no longer needed) --- .../net/thauvin/erik/gradle/semver/SemverConfig.kt | 2 -- .../net/thauvin/erik/gradle/semver/SemverPlugin.kt | 9 +++++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index af6e12a..d27d57a 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -43,7 +43,6 @@ open class SemverConfig { const val DEFAULT_BUILDMETA_KEY = "buildmeta" const val DEFAULT_BUILDMETA_PREFIX_KEY = "buildmeta.prefix" const val DEFAULT_SEPARATOR = "separator" - const val DEFAULT_SAVE_AFTER_PROJECT_EVALUATE = true } var properties = DEFAULT_PROPERTIES @@ -64,5 +63,4 @@ open class SemverConfig { var separatorKey = DEFAULT_SEPARATOR get() = "$keysPrefix$field" var keysPrefix = DEFAULT_KEYS_PREFIX - var saveAfterProjectEvaluate = DEFAULT_SAVE_AFTER_PROJECT_EVALUATE } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 67a05e1..1b78411 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -110,11 +110,15 @@ class SemverPlugin : Plugin { propsFile.apply { project.logger.info( "[$simpleName] Attempting to read properties from: `$absoluteFile`. [exists: ${exists()}, isFile: $isFile, canRead: ${canRead()}]") + var hasReqProps = false if (canRead() && isFile) { FileInputStream(this).reader().use { reader -> Properties().apply { load(reader) + hasReqProps = stringPropertyNames().containsAll(setOf(config.majorKey, config.minorKey, + config.patchKey, config.preReleaseKey, config.buildMetaKey)) + version.major = getProperty(config.majorKey, Version.DEFAULT_MAJOR) version.minor = getProperty(config.minorKey, Version.DEFAULT_MINOR) version.patch = getProperty(config.patchKey, Version.DEFAULT_PATCH) @@ -136,8 +140,9 @@ class SemverPlugin : Plugin { } project.version = version.semver project.logger.info("[$simpleName] Project version set to: ${project.version}") - // If first time running and there is no props file, and saveAfterEvaluate is false, then version props would never have been saved before - if (config.saveAfterProjectEvaluate || !isFile) { + if (!hasReqProps || !isFile) { + // If first time running and there is no props file, and the required version properties are missing, + // then version props would never have been saved before saveProperties(config, version) } } From 47d3c990bcb9ee5a8831fabe4c951d9b8401fb95 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 20 Dec 2018 14:47:00 -0800 Subject: [PATCH 064/155] Version 0.9.9-beta --- .idea/modules/ap-examples-java.iml | 2 +- .idea/modules/ap-examples-java_main.iml | 2 +- .idea/modules/ap-examples-java_test.iml | 4 +- .idea/modules/ap-examples-kotlin.iml | 2 +- .idea/modules/ap-examples-kotlin_main.iml | 2 +- .idea/modules/ap-examples-kotlin_test.iml | 2 +- .idea/modules/examples-java.iml | 2 +- .idea/modules/examples-java_main.iml | 2 +- .idea/modules/examples-java_test.iml | 8 +- .idea/modules/examples-kotlin.iml | 2 +- .idea/modules/examples-kotlin_main.iml | 2 +- .idea/modules/examples-kotlin_test.iml | 2 +- .idea/modules/semver_main.iml | 188 ++++++------- .idea/modules/semver_test.iml | 252 +++++++++--------- build.gradle.kts | 2 +- .../annotation-processor/java/build.gradle | 2 +- .../java/version.properties | 2 +- .../kotlin/build.gradle.kts | 2 +- examples/java/build.gradle | 2 +- examples/kotlin/build.gradle.kts | 2 +- examples/kotlin/version.properties | 2 +- examples/test/build.gradle | 2 +- 22 files changed, 247 insertions(+), 241 deletions(-) diff --git a/.idea/modules/ap-examples-java.iml b/.idea/modules/ap-examples-java.iml index 81f7f8a..3561fcb 100644 --- a/.idea/modules/ap-examples-java.iml +++ b/.idea/modules/ap-examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-java_main.iml b/.idea/modules/ap-examples-java_main.iml index 820a289..4ba373d 100644 --- a/.idea/modules/ap-examples-java_main.iml +++ b/.idea/modules/ap-examples-java_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-java_test.iml b/.idea/modules/ap-examples-java_test.iml index 671e6c0..a6253aa 100644 --- a/.idea/modules/ap-examples-java_test.iml +++ b/.idea/modules/ap-examples-java_test.iml @@ -1,5 +1,5 @@ - + @@ -7,8 +7,8 @@ - + \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin.iml b/.idea/modules/ap-examples-kotlin.iml index e50ce53..891698d 100644 --- a/.idea/modules/ap-examples-kotlin.iml +++ b/.idea/modules/ap-examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin_main.iml b/.idea/modules/ap-examples-kotlin_main.iml index 18f28d7..ac256ec 100644 --- a/.idea/modules/ap-examples-kotlin_main.iml +++ b/.idea/modules/ap-examples-kotlin_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/ap-examples-kotlin_test.iml b/.idea/modules/ap-examples-kotlin_test.iml index 8a476dc..37adbdb 100644 --- a/.idea/modules/ap-examples-kotlin_test.iml +++ b/.idea/modules/ap-examples-kotlin_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java.iml b/.idea/modules/examples-java.iml index 398cc36..0c5fd0c 100644 --- a/.idea/modules/examples-java.iml +++ b/.idea/modules/examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java_main.iml b/.idea/modules/examples-java_main.iml index c86e055..1e29561 100644 --- a/.idea/modules/examples-java_main.iml +++ b/.idea/modules/examples-java_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-java_test.iml b/.idea/modules/examples-java_test.iml index 8ce836f..ca713da 100644 --- a/.idea/modules/examples-java_test.iml +++ b/.idea/modules/examples-java_test.iml @@ -1,5 +1,5 @@ - + @@ -8,7 +8,13 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-kotlin.iml b/.idea/modules/examples-kotlin.iml index 311f2b4..045b466 100644 --- a/.idea/modules/examples-kotlin.iml +++ b/.idea/modules/examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin_main.iml b/.idea/modules/examples-kotlin_main.iml index 386f187..54e393f 100644 --- a/.idea/modules/examples-kotlin_main.iml +++ b/.idea/modules/examples-kotlin_main.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/examples-kotlin_test.iml b/.idea/modules/examples-kotlin_test.iml index f1becdd..38f0e9c 100644 --- a/.idea/modules/examples-kotlin_test.iml +++ b/.idea/modules/examples-kotlin_test.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/semver_main.iml b/.idea/modules/semver_main.iml index 17c1b11..3364b86 100644 --- a/.idea/modules/semver_main.iml +++ b/.idea/modules/semver_main.iml @@ -47,83 +47,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -141,14 +79,50 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - @@ -236,34 +210,12 @@ - - - - - - - - - - - - + - - - - - - - - - - - @@ -275,6 +227,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -320,7 +322,5 @@ - - \ No newline at end of file diff --git a/.idea/modules/semver_test.iml b/.idea/modules/semver_test.iml index 35a2d68..1dcd750 100644 --- a/.idea/modules/semver_test.iml +++ b/.idea/modules/semver_test.iml @@ -51,132 +51,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -261,6 +135,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -272,6 +191,24 @@ + + + + + + + + + + + + + + + + + + @@ -294,12 +231,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 4cf9e12..b61c111 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,7 +10,7 @@ plugins { id("io.gitlab.arturbosch.detekt").version("1.0.0-RC12") } -version = "0.9.8-beta" +version = "0.9.9-beta" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index c65e6e7..c149b7f 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id 'net.thauvin.erik.gradle.semver' version '0.9.8-beta' + id 'net.thauvin.erik.gradle.semver' version '0.9.9-beta' } // ./gradlew diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index a098b00..8626f6d 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Thu Nov 29 20:38:43 PST 2018 +#Thu Dec 20 12:09:42 PST 2018 version.buildmeta= version.major=2 version.minor=1 diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index a6d85aa..70a42be 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -2,7 +2,7 @@ plugins { kotlin("jvm").version("1.3.0") application id("org.jetbrains.kotlin.kapt").version("1.3.0") - id("net.thauvin.erik.gradle.semver").version("0.9.8-beta") + id("net.thauvin.erik.gradle.semver").version("0.9.9-beta") } // ./gradlew diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 2fbb520..5a2f1c3 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id 'net.thauvin.erik.gradle.semver' version '0.9.8-beta' + id 'net.thauvin.erik.gradle.semver' version '0.9.9-beta' } // ./gradlew diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 1a6b28d..c1968b2 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -6,7 +6,7 @@ import java.time.format.DateTimeFormatter plugins { kotlin("jvm").version("1.3.0") application - id("net.thauvin.erik.gradle.semver").version("0.9.8-beta") + id("net.thauvin.erik.gradle.semver").version("0.9.9-beta") } // ./gradlew diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 01196c0..72fca8e 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,5 +1,5 @@ #Generated by the Semver Plugin for Gradle -#Tue Nov 27 19:18:37 PST 2018 +#Thu Dec 20 12:18:04 PST 2018 version.buildmeta=20181101185038 version.major=1 version.minor=2 diff --git a/examples/test/build.gradle b/examples/test/build.gradle index a1034fc..02d7779 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -8,7 +8,7 @@ buildscript { mavenLocal() } dependencies { - classpath "net.thauvin.erik.gradle:semver:0.9.8-beta" + classpath "net.thauvin.erik.gradle:semver:0.9.9-beta" } } From 74d2cfec110e581dd487d7a40811e088d5f32def Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 30 Mar 2019 22:44:05 -0700 Subject: [PATCH 065/155] Updated wrappers. --- .../java/gradle/wrapper/gradle-wrapper.jar | Bin 55741 -> 55616 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/annotation-processor/java/gradlew | 18 +++++++++++++++++- .../annotation-processor/java/gradlew.bat | 18 +++++++++++++++++- .../kotlin/gradle/wrapper/gradle-wrapper.jar | Bin 55741 -> 55616 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/annotation-processor/kotlin/gradlew | 18 +++++++++++++++++- .../annotation-processor/kotlin/gradlew.bat | 18 +++++++++++++++++- .../java/gradle/wrapper/gradle-wrapper.jar | Bin 55741 -> 55616 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/java/gradlew | 18 +++++++++++++++++- examples/java/gradlew.bat | 18 +++++++++++++++++- .../kotlin/gradle/wrapper/gradle-wrapper.jar | Bin 55741 -> 55616 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/kotlin/gradlew | 18 +++++++++++++++++- examples/kotlin/gradlew.bat | 18 +++++++++++++++++- gradle/wrapper/gradle-wrapper.jar | Bin 55741 -> 55616 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 18 +++++++++++++++++- gradlew.bat | 18 +++++++++++++++++- 20 files changed, 175 insertions(+), 15 deletions(-) diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar index 457aad0d98108420a977756b7145c93c8910b076..5c2d1cf016b3885f6930543d57b744ea8c220a1a 100644 GIT binary patch delta 19567 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 PFlPAY0appj7IgMMQM_1| diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties index 75b8c7c..ea13fdf 100644 --- a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/java/gradlew b/examples/annotation-processor/java/gradlew index af6708f..b0d6d0a 100755 --- a/examples/annotation-processor/java/gradlew +++ b/examples/annotation-processor/java/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m"' +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/examples/annotation-processor/java/gradlew.bat b/examples/annotation-processor/java/gradlew.bat index 6d57edc..9991c50 100644 --- a/examples/annotation-processor/java/gradlew.bat +++ b/examples/annotation-processor/java/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.jar b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.jar index 457aad0d98108420a977756b7145c93c8910b076..5c2d1cf016b3885f6930543d57b744ea8c220a1a 100644 GIT binary patch delta 19567 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 PFlPAY0appj7IgMMQM_1| diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties index 75b8c7c..ea13fdf 100644 --- a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/kotlin/gradlew b/examples/annotation-processor/kotlin/gradlew index af6708f..b0d6d0a 100755 --- a/examples/annotation-processor/kotlin/gradlew +++ b/examples/annotation-processor/kotlin/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m"' +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/examples/annotation-processor/kotlin/gradlew.bat b/examples/annotation-processor/kotlin/gradlew.bat index 6d57edc..9991c50 100644 --- a/examples/annotation-processor/kotlin/gradlew.bat +++ b/examples/annotation-processor/kotlin/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/examples/java/gradle/wrapper/gradle-wrapper.jar b/examples/java/gradle/wrapper/gradle-wrapper.jar index 457aad0d98108420a977756b7145c93c8910b076..5c2d1cf016b3885f6930543d57b744ea8c220a1a 100644 GIT binary patch delta 19567 zcmYhiV{o8du(li9wr$(CZEIrtnV1th6WcZ>6Wg{mv7Pgtz3V&Y`?qSXTK%i5`>w0+ z?r8$=YXpZ>kq3u>OZGOh~=hd!cQmjp<%-CTWeE-^AiME;XgwO3=>%hlLUvROgMUVhTAE(G|m z(f%sRg_ag=iwu6~(OvuT*2?I|*@s*qCCpf4Y+Hq-VcuLEDttX|c*TY5jWiXms}33x zAYc9?o9CFVk0ORk%P{K-T>Y@%mo!4ycb7u=MO1@&RA!`8b;jmY<`biQ|=ATNSH5}lvH3WTcfE+$N?pyqGFtH1)m5?BafI$go6oYHP9es3` z!4)*xb@w6ZaJS2hkitpj_3`^HBKv zI1%Vu@8lI20iLQYPG8%YenP!U*#(z=Q}U@AKXEwy*5ODp-7TI z>d2j;Ysg!KKx0lI-}_626Tlcm`e+DZ#(7C5Njp#uf!Ui0_9imcSTI(b%FBL*jSFG}_;b6`2}2>gtygSxGI zX|wy_|00jHzRjchl2`rGzkJ}7e9a1~qYwC!=KQY8`c|Lf*0>M1>#fLgqRny45^H*s zRH$GnnMW~3dB4?F|M-ym$zWEVE6XjbiDHPxQNkDb!z@$HT&9L>DO1g9oDEzV2MuoA zRo8S}uH_${xE6lna7sPx4**fudi;$f+#-Y)U$H~-62E||aV$k&v12M_s??tK$Wy&F zYd)WA)k>y_R1vI-KGAt|x;;mZmsYfVM$ssjH{ppYClnjMrKgy_9RGrMd%>^rWOKIQ z%SPJ?d98D11N*YIJtxB^#@CU7wLw{BAyc7PfPW8h?Y7xmt|`B@4*2sd^Ic%`U~r=9 zNS075cl1NlV`O)4AmVLCvP+4$5&};KZZH`g9qFj%pHe5f1A46>me)E{$J0aeL953< z*=SattA;XyxAY#;5yhb-Skces?BC8g8kPKMcfUi|%Stwdpp(nR2S^^sheJhy+MM)l84WSFkxp*#{pneorG$)kOmoEvI!;3u94?fAP zZ@_>Wo%+yWQdR)>aj!1>ay%9KK|@sYKL!QF%cpUuAr17$i#d4ei?iRH$2v;YyJ_JU zy|5!c@Gq{%WuquJkVf|7(o9y(&E+^tjxS3$7U=@kecGQR!>mI_0eNax8i%8&eV&v@%fPCi>o zX8qX~4EMatnF{ozlPBhfWWe?mlJ;wR^m;8V>cqMXPm!D^ol2&HU$7>moA1K5`+Cs= zpr#_ZzfYk>JVUU z=e1g~dfM;pNRMATBvsxADGhHPZou0@&zeh78oNqs{ah;^rD_P;#+@=&?FynMyyv|p zc?CO?tuUYdBj&}xT0qIxVU71rKhA3U9&fEcA5OW4960Haku;pUy6`|=a}+3T*TQna zM5CQ)FNw1JJYLu^!l@!d1+sI|txf!fE0#~zZeKHUu&*Gg@WTrIK zL#JC)vaT|b6kj6@j^;X~7{<`kwua`_G2jx`%!f>>VECy;sXjCaenpckfTLKtr7E3@ z8Yt+YvSGl3D&8@PW5oG8m+U--#bN?UkL$cFfT-Dd6BfRFd~RAP-)q z+_k;mcZ+bfh$r>ZZPZ?8T%-2Vca6VjyJ6}c=vO|lX6VqqA{ROOS1gX*z^-MW$S`0w zNt3JgPOPFBL7C$^+aGab3eRjB$D|V7W|ODy3dkVoyGq2}8R+$c$afxQP>z&rB%r4~ z$kb5=$Zb#`QJABtJMWd230hAk1j-k(k?0te-)xJ0!S=s0lBZv26x*0qsijS5d?M?y zQIsM0#83{nt|zg(YJtdKrGv^7shHMBqt7I{Wi%a%F0IPVpf2HSPT}BR{nHsW(c0CX z1LSqtn9zgi%a9(P-5&{}5K1#_5{tmW15khAC917PQZVy54l1c^q_B?{k+H=ipfcl* zk-LS)kV!X#lbZ`fZm!Dc-8M_T?IW>@Gs+L?s3y9Lnlz{CmJd>Htq$-e==Ib?@y$21 z*UpM)2_EIh!VAa8>!7J?<)*`@4Tim{0Cmf)YWCeN;sYs^u%;DICx0VE{^U4v$wMw5=BtR$t>M}LNZN9bp)*mmgjryF;6BQU{|Mf-L<-f47u zP^97f5VY}YK_be&LO^v7YzidOYoIN&nR&nODD5_+0$3_W zOES1SBzDa!WXR4W)y~e&C_Hdt61c=aA_?&M3hp1#5*hT_YC4isTZX{PQ&!Ul1Totu z(k9F47DbkQS)qSuIi`eEbzV5z<(g5b*XUv(HfoEta@N;uB-w2wMRVB8UM_q)(4Xtw z)eDF*(5mklLc@DyBFdAlB555z0sdP@H{p?nSFvTUNAXK$3NjcC*w}7fvcU)non!KA z@++PD(ecw10`IP><=Sb2opSe1;a=i$RaUep@wPeKMKkr3Q_I>xK7Lr;gu%2U{HL)S zXFTYD;hc+3f7x@ns+mLjVD-QA`-rWNFlH7HQ-uE5hcU19Dg@LZZ+1qv+Ek4)-P(i572%~xBTU}Xk zq`0-H(11rdVLrRypcMaA2872W!DxoHXPyk z|1#a-e8JDIBkhAVH@cF-L$oh#X575?Tr{KC$`6WL4M$uQJ8PuxG8aw%1!>4-$4>7) zv(QN36n=`hWNbYnU3JBL@;~+_UL*x8db9@< zFE*avh_A;8Pxi*A(7a!d!&hyF{`^|23r8;U1Qt9Nt?R1=St4d{2-1+%Z=!XpFJPhB zbe67u*u%YBHDoavFF1w<6gaPrnmDYc|LyerZiMm&#_hS6YzD4OmU7Q41vyQD)k%|s zo2$y`6IKtxHVYIVIC|l5#R7fyb_b;F2yuNYm-mS(J1s54hUdlV%H^GN%_aJJkIHkw znSzR2^l}7;iTv9XDn7qTS=dbxnSd-UsJiOPSBfk!8`$hr`YJY?z`f(H$E-92y@4-$ zmVqw-VO`HLKQZN!dAIec^X@)83wfpIqfn`H=D?%#!oyz^Xd(?@UVvMjcnvsgkGR^I zf#^tIe4mX4UyVYVc5f7nWFn9vj+@<+W*wZviEDU^W6$Z#+!jQTXU-)VS>TC6E+i(V zJQ-pAsqGTosC)p=6T-a5&>IVVgZaA%tLzr=nBVTxMHL_k{GCjNi+y|+dF1fio4A8lIvVj7~%`iFnoE~^M0gA1$5ZL2tjfMJN>ze@#Q8#t%%MU1<; zSuAMz%t%L|{@I>bHGl9>NLQ!mw#vGh@mI;z4f@;j_FC!d@^~j#chjRqr46)aR}2-& zzJF%EoM##$NFU2Ncbz|WU&!0JbJ)4F;BtUs!Ue=#Gxt-U2hTsW# zW`BD&0GGgq0>kSjTa>!WjVQixHKUkl!F@^G-2$#E$_=$}TX3+)=l8a8U*abu!CE{v zjtL*E*WL*SSFfSD=Ma9mRjd|9?5YA)?{$+3tqUBY^RY|kfeBQE5=R7*wKE0a-h8)k zI=-u;>~`9Y=k?A*REv-knY4QK19ke@Vs_&S`Mp0-=?OubE9{MpM>c$0dlpEghh7~2 zJD+NrmvZ3vJY{Ob<1Pofs&7;pO%=0C5wfl;;63ap$`vm{Q#S2OWJH>wIeRUe@c3jf3cKuP7<1)Co*5G+n0QL zgGD1YS2le*fHW4a{T!!UVt5!04NrscOD0fqVyNy=DkC3ts=96tiyd0)|vU3~)+#Wc*e zi97S~JR^u^*K^g^!-*_5uHe_s50HPAE0b{OIh}*Be+SH&5(|HwvMf;W5x_KAhl0jdcQ28_2B{iiruAz?=I<`Wxm zB9(t^h(Y|EvDxSkeM^5tB<-j34HFc8Ui)Qi$}BRi-EwF=6xu7LX=3ngtcZU8EvZEI z;_yGTBzbNeH@O368T?mH~VO05m>e zFANulEY~2m_<0kc9Yu@`$up04N^;^Y}JXYYc62s=UCds|(OF~lQ5YjWn zaATUk_kk(9m24QAVdO3zc98AW|2bB~eUwqH-eJ@Au)@w($#>!SH)E<`o5?zRsda^0 z4$dPsgWXtM*S5dsHhWC#B$JO-2Sd-rO=_@VjZXSeq~*k4F;Oi#^iuO_`S`fush=b) z8L$WSo7KSnKV)UioyI1}637Js$J4^tbD7}*C^J1x4x zB!jj{i^O}vAQxPU4Pg;jq9s#lI=1<#tctMd*qX#R-@oF8!KTKI%8QE{0_N{dGph{j zo)yYY)B0b;TO*e3bJpCYJ@mFVI2ZKEaNv*+6&(SFG1m^&w214=$G!*mZ`RaM+8qW4 zrHmsHg@F}LfAIlsPJek3>sO1lwn*xJoAE3!g+J%2&x3vLjz3W20t(r}k=)%%(C_E- zsN|>_Hneo?#@(Bu2`Sxtl#tdOC4~%Iik;X~$N0H|V^B~A?d1zxFxs8)iKN(%w0gvP zmfwM^xJe;O`+Q_=M1nz5@E#rtlWOFtKKPf`KJe_WYl)@Cn0fXavRYhk*d5fHZ>$y#B(CqpafJLR545g87?F~f+BF>ef3p{~V%&;G0V8Y=gY=83)Aa+j~x?xiEB z%|&m38Q}v>TX&XUv@WJKfE^6-X%pS`*LzosI(gRyQY@m80<-s(T6vOA4lJra-zeab zQT?Rwd~92oc$A{Me>AP|>>0veJG+Mwl{vZmuLjMdzT)EuT`*J6t(A9I#yI< z{ah}*Rhj0kkAhCBhk4a6B;;vLgRb+5h0;GH&flJKs(DJ&Ed-vNgq|SUH@}E@238LH(zTVL!K}wt=?bjOYp))ksZwW`f8D+Y692M9B zGl-G7hQuWEP4D0wJ=ie9Sdo$)o-SMQSOk4Y0+aDrB!tm>3oi;UB`6uFf0Y2-XyJ zC(o;cuU#l^q%AQ$lCmMRl)+ zsWxDn?}JHaV;Cpl23;%C#OPs)MDkrG~`@fo7ra2dP z87v40A{Gb;-TyQ-@W6!%;v&&0IN6`T`qj>`eK+ZfLKn8ZJpiNhK zqZ(a|$bWcO1p8?$$_?uoB*ZYQ-@0~-{iWBObRVlzyS3Y-H@!|C_;GlnhxvTq0cUhQ zg8$)N1Q*0j>)jL`<{c9a>0K4vR-wZHdNl$LNAz%TN!RZk5$&~ac=vD1)jOVG``?J9 zFjGbO;QQgnC!G-R6S;EKL}v(wNbQzI3e#WauO;R`7s(;R_Vba5qwx5bTUAKn!)W$dZ- zX*;b}#!nxqjA^3L+F0AqDUPr1r(R=)nK=V)6E}QH82%Idi{8|Kd_QV1X}H#XKg0C# zd}KddV?Or$_OlZ+`JQ3U8hKa^OrETibC$#8?9-*_EVcw05m!q+f?aTT+Vi}D;@2JJ z3q1?FfB7O{A>HYSh*CFgt}8M{=Cr~XWS35E#pMt)gjlPEtV@M`nUR=;0XoE{*u^Nd z9Zk9=hx?(EQD@CT^uvx59aeCS`PbIv4N5ti9hEY=jH8ZzcfpClI2T%%Tj3pu-bgE| zIBUcO&cO-keBwf0Tl~d>nq<9u;t%8XxS{Ofvw0-|`v-CAB?o$Q6PY6tf{f*fuO#U{ zgR8M(+I--0WT`{)M@;t%GKQ;cTU*{Qyjotk-s#=b&(9%8ly+JJoP_?&*qU=W*Hj~w z!EF_S>Gf){SGLkH`PB~>tCB^=bX3^^$Mv?hm>1%i^ z>J?nT!3!6A&V^GO!^l^KU@MVehdQyVtI=O>2(2*cIJ>AyeX5o-DN+r;$!1K>&4*lF z*Iq4|AO&#bNUnPYHplZ%yr)9x0rbRW6Y`Qhn$wk8i88SP?pwyUKQAh55matBxNwb1 zZfj{}uFLA-wb}vM|%DL)bM`iN>>j0L{CqTfDDBOq4`2i!Wb%Tx=zh5?4 zcq_hGQ3i!8fhasMgZUvgz@Q40k7w6k?i^yKKBo?A+ILZG{`T#M+xnM?HqgIK%Qt_V*=UP!>omi^gOPsooq6Vy@iCa~! zLY8OwPJSY6I15JViDTp!93gj&$}&Jry8JrpGNBM!XfHeRkb+ui{JYXvH6dbaLUyBY*0t2DYBrAzK4vKU02 zA5F>RD?`))+nqtt5x>&%l=r4U6SEK7*ubjbGBH*dKGi}B-6X>)-^{WPcqDLTP>~%O zLCaQNrdJ*0-Y>I`UXeDC`g!MVPvXGJi=DpMu4Zn*Oyk9OXHj!&pXsyld%sUi&}8-X z((Fm6i^ic)u5|?7K1V`xTHF+JZB~T?JL8H{YMX!FGo~6R$e9%)px$}^N*>>v1PQ}S ztPQ1_*0vzo?j#Hf`!QqQ#2eUIu#2%w_IwHNGlKM}ruV7EN>P^nX~v^9`yg&)dqCS? zvzGhAh;k*-E#^eCbQSU!QNoZzWil>Cx^@#^>G7af>HMIpnqHeX!B&R$@v%Z@!vj+{ zCB4O3$pn9z6|T68;WlGW)C-1S^g< z&rGH!BcQe-!+JpHtd}X`AJMCk%eAEcc}jj<9h%eA%2`P?3TFT741O|<uWf?^f3NNC@Owd@d)u4)Y;M3KuBVveR{N%{+XY9R ziI?G>M~i0=<;iW)0E(aw{Y5`Yh=2l{JI1eE1JhPpS_Mm&4{S#X>8MLeb&eaMWDWbl za#tATA=OyQ(pWdYvTO!>)|V|KOZ1VaLn^6E_AW?u(bYP?LqLb=c^NX`7p{U+EzaLq zE6VZ&J=W+f*xIzJ^>Qq=i{14Rcy6Q`}>7-enU=zJ{dj?$kJ) zsgo%^oOVR(1|nr~_N!s3-`25ACh)cSODKG1&A- zcO1+Aq`W%;`3eyQs-&=CV2S}$96JG2j?hn0niLP{y0{43k^9Ac2qm;ju*Vqkzs?kd zykJy+UY|y#c;%{T=h^sNG4^_gMFv>#r0Y|JCX>>R6Nd@a6o-B~l#4^B&HCFeDqzE5 zrT)D4SY!p{Qki?J`&!nTE6qOAI=-2(C|BaT4=ev;A7ZP#k!cJ&4AOfDY4=W&`Ly+H zA^H&wl{mHh$c|b_admSHn?>$9i(TCLR`q-#oVe9fyRC%CCUzDW|K8J(4xXwo<_K03 z{tmyh=%ayW`=>W_)KxcFL+FRQjA-(eACcN)w&MU}l}lW)PccZYh{@K3Tyy$_2ta1h z1{xIfN2TdFM7b%U@|-|!KFdHy)Vhbtj1rXY`SxhvlJk!3@4f0c{+WG(mg{0o>syMz zDf7yXD&=EiMt?udYCnWjxGOjhT8zqZY3t=(A!_8GkiUW|5n8um&KwVU&qnjrD+Pm@ z&V~gVyH%dmtAltaTU@-DoLy%z^`KZI%w7toqIL5y)diz3CF%;wO)qHTrpE-@&l!H3 z(8<@9eIx&`%1dB6`_I(j%UlTkf4M|7${7Gg3=k0aWM*ywj0i&5$WRIy4p#-*L2v6Zqe8cVc_^^fyVCq1DPn3noDH+OV(%Z>e&K74QtE1;Ss z>zF&KzUdCGoH|@}BkPDav0(8v2B+-h(wj}Riwig74lF=0IWG_~rR0*?Mq@I$END!7 zxY4F}R3uFtxutP5m1MHVBHbB;opgBj_QP8Yi*ZjKsuu%^G4zKWI;)0c=4G9<@#&o} z96n4F$8ttj$8@!x2Q^ZAn2vgpJuIG`9P}j>m~hrGVeEzm)Pj$2+%(3PDpz1mt!UNIsNMorfmx16FGM2y(ve#Lq@nC zj*eD&9D&?5$wXULpSjbnxZo8?|b^>G7Csz#&uL^ zVyur3v%F;-%-gHC4=9S(rk1KxdD3IlAf4;&Am=b?P7wI%AkkU7^TpYJ5{{%?v5l^|tYrK16%E$tzph zfPZs$d~PW8hF>z$JUDY73hHc%)ip}76HJ#`b6T)i;!~mp0*nj6OJ{ENHo@Cx@WbXo z4sX#SDs>O94?5LG@IR=WjxuQ$2|PeYdD9{KLCt9wIv|b7R?_8N?OWkj*w?Da0&{FF z3`wfF2gRp+-D|={8$<@nAXk3O{q(2i11_cXLDI5QT&x=uSzxZVddq8ZeLYC5SQy7? z{zCnO4QYkYJ5Zg1k?4fnI_EOu7B#XoW?*GY;%N{VImZ(WsLdRJNQzgL*Hn_%eQ76Hi$o<5g)BjOLh}Q1IONC!R2}pH>P<}BZ=Se2 z)od@g6>$&0isCw^?qq5#^!kHMSj#15iyMj2SEv z+8TUg>1i^2#_il8aDilO7v*!ZDu0l#x;Y|Q!m&a8Atg|WymY&ZDQ*#7V&18`0Lz10 zSi0oPfe|?b(eGUNcacOXt?!3_<&Id`m2uIJKzh7k1c1V^n8e1hhYStTHr!OH9vZbr zq^t)wkw?+8st7fzYT_U$ACQdN$Q(w zMHK;OTyW!s*^5THjct1^2QQ^y35gq`VfDmtD(c3CZqS-QnW3~Zwu3(N zREg)o!ectgs+Gg-4QR_^)VEYh9;;!a>ecW_rr?l0%Hvbt~&qOj_(mPt(HU&T7~Q?#;^3rdrVO z&B|3hBlOiSG4j zNgfg3Pu*NT%yCFVLXM8N-PF+S47XMJLw`feQM#?=-{jEk40%;`$6Twv8hur8JXdsQ z*J-|5KR~&P0^j4DxAmwnXB8P!%}4I)NKU?jyE&P}*=LW^4;kD9tlc!ih>R#tc6&?; zF=Pc&6j`Z0KhV~een@mP!WUNa9tcZ>GdJKCdum@Q4htyY%gY657g z-{7yOD*vCzbemOo17M#l z|1E@&GATcC%_J^Jm&N7fO-mRVjif#N$&B_ZfPI6a;-hzD{i2%+(8>^`cYO4-3W`g$ z3~L0&0hFOg^7kJg1!_l`b>3bYA=?lz*JrNM(4o(ZrZ*tvO-;MVwRVR50y}i`(Tl_Gf>h8w}2-@v=e(ey1k`XU( z5&iFPt8=wT3~UP$qkZJU5UaFFnscm2%Z(Q$8a;ebwEC+@p!nWS#fRTl$T)B)Y+5}) z_o5M)yrcFy^T7o-9ZMM}cYV)K_lF+l1^%1UHjC6FWBgjS_&s~qeBR_=4W3H=FJ_&ml`z zT+TzM(_r5^c*)-I-=URL(l0iVZ(B~{22iGH` zO;0;-GYbqK#SpIE!}oGAF;_!+-Fp79l93HVf_GH{`nfM4!(2bvd`%EI>qsJS6H`CA zSvw$Ga2pN=QOlQX*jX9r>2sD3-K+_hR|A+Rcoc%f=?Kg^5_$HAoN~N+< zc}XT3>$ZE(9;~)!#tP4Z zdtEL7c~*++&Ck)O7_%f@=&PuL{1*!3tG<5QmO=;`pZsVFZqX9hD&rN`ukkZf7LE-! z08cHO;M=YJXXEYh5{x>RR0OW7UzTjckBOETBH#`h5R$<(sEuVP!RsnE;ulA-GDVHF zevDq`C@^Ajb@V{ktiAisOr`#Sx2HU!F~)anD}~*jLvTado zcmwqf&Hg;3f}ANC+Tv&=nko-3jIe<)lG0ukd~zJGa2_>R2t)rI5S%u`+t4_4@g<-f zDiKWCP&^V}58)rG;05$S;FPMepY13zg}5YpD`DtQ46Ji*pj}$qu^{9s8?oIidn%xv95emprSxA%8f3v>fii&z=mAmhc`tCzti6 zQ*mHE&kjOufW4opKGawBC;ph}Or=WoCD`Jy4H8@ll;5GIB#L0f7E{_@dUllMR;>7$ zqMq$Ls$T%CVzs*(5}g$A+br9h-}AT`x-oAmQ)^oIHFnu%eRAO)t4d9smnL(2W1MC6 znnuKUJ@)LXcG4Oznz1i621^xfLA1`4BsSyDu7aW4ainJ1QoZKW2y=@oMqk}QW0z*b$e`jPNN-)Og>TbPDwyKavM-Dp2!1CiLbkoiguPX{>4#5OR;)lWgg zp6bQ?qDuWmi*5^NHH5_2F)BY|!;$O9LLOAW%>RI~idu`KD(uv1ht}@d4ir8L+>-?(|Ozc zapEXWSuin+nraJBF~icTEp|K)a(yb&=ES5Hgq|h08!fFS=P)b?QHP3Ll}DzQ@Q3BY zpt6(8E3GU{BBHCSPmkW2>`XicQ)}WroKyuAWTWx3FHSQyRu5?$>|K2?$aKTZnWxYt zrrWN|ApO+pY1tb5VYxO%2TT?lB58;QQ*du~I=pkic66csRD|al*!m`;2ha(ERS@Vj zL?Z1e7T3wj8jHtg&B<>MCO1yDjVQ!-?Zi5LIH4${-@Evdk)Bj}M}uoW&5QAj(xL&Z zSeL~e-WnV!M0zG|jLwJsLsukDwzcL;VG9Qrr9=F(jJG_K-c7|jzUm6W z{Ghw|rajr^AO=(YPcb)vcp|yYCZGnVN(=W50diU6p^SzZ%vh6hy0hoJKZz3U$kyIw zi+}p76j0;JWqi;=1dbyZ|LNOVc!&isOPj*Yi|ikWp)Qmp5!M&veH4dy<^4{ZeH~9r zEET7v%Nxhinh2n#DuQ`Um(GWYDjW8X;RY3P9v*U<3)8i@9@QL@{qyF;t)EnKBr<$y z>I=kB5o_!!odp$rh$yXF!o1?E8nUO?e|l2{Stt%LWmzN|#%N0%e>V4KbIAZBYluG$ zNX?q&NIRJ#p-CA z)e3wI$vGec0+P}fs8JcU%Wo0FmJyjD)>h7bNkBObqSwhpW4r*FNI zb3LeeFS;DM)QNtZH@;Ko0MWysW(S}ws>3`nVqyrXQnS|zbr@-ep$U9OJflf@U}#-e z5o843OblFtl?d@^z8mvnl%tB&n3<;xnF7!^7o=T>E%;-m8$AP5+u;>W@48u5$8d8W zruH8K!Q=4tLov>c=?OqYZW-@vZaok3#*z6l@tHD;8AN~OAuj&%WIp#9qx#PmPH>vh^eNaS z$yZ;fKj{-`9i{U6IDuwDOKou%+VPrF$fs-@3E2u=dk^61{2iw6Lacm!Iq$aG;A_X` z8~OH2UBmBNYAEJVKCes!wvblw(ELiUlyD@uRhn98cId1P=>Fqq%dlzOZ7H3#hQ-2o`wnHrV4**fpz{iT zL1l5|bq08I*(OMDdDv~2vP=?(_nFI?2h2`f7>E6p7;0r87|L{iS{gY(QdrB;l~H1z zS~M`C6TV-e7n@s4i%nG(5W>bVmE%UhY~;qKR5wng79N68Ryn(f&S>rJo0Z|7EpSZ3 zb+Ki!)8BI$J5FcMPr_C^b9J%PhOjRPMYGYwMBtA3YpGVq#f^%gw0>>%C7($TeuMrG zRcr#}tHAzS5(B1ins6*+$y@z|JNir6qx$g|KFmS|9{hDmj9U~_h^#>_?j5s zhDr6L42-j2i1S!6jC<@g(Hd&?X;4vjl%h0`MNFpI453@?YbpEMpMe+22MPf|im=QyjjG zlN~pXztxnA91QUwEz^TzL3eSU*D(Jn*c5L%<0tiE6U{DRo0hGhfMo{orr>BU*@oSm z+RT)!3(MG3z83x)`@Z-P1q-Iw zath24|Iy8}-6qm~V%h9e`3hO{4Tty6tZ8+W$n%o-RBnJ7s&2GiOi!gadX_Rer1nnt zgnJrUGZxWtnaG(|jP8=_Ce)C@ON%NEA=+2AN2NqF`ZLVFUp$9c)9c?M(7i|umAxno zowS$i!~0k4)B6K8`}qF!vpPPWK49Z`wE0)mH>`?|gJR>YTrpmL%rwWRt;aeHMawiq zfkFt{YaQd{3 z3xwlU41%J+QaSG$Z`WFLE|T_cdYd&45*;cP|5>Slt+wDW2XM6|F%GwdnrXt`Qdr(v ze?^?CSrU2b?D}KAuv7Nk!`vAo?sgOeMw??>bK0CJk7@_sAuyW81sByl6AfN76=ydt zb3&mOYQO^^5Bcflgm1IT7$HN(H)yaQtua|gem4q_$9tcsy}eysH*+fdJ@A&9nV;;R z;697D*sI}u`>ArXegJ+BdzVVO*PO^h!SR3(2b-ii(G>Wz^I;%BB<(dz#=>47q7}s7 zu27{8t!7=Ln=|A*sj^x!3u`LyT>T@QE*7FzKL-X{G0U}F0|r?g|}Ju1x& zrTaoM-D!?8fFml{M$Ro9Uz9SkHv&sAEX&bh@5y@3@wr7oGFa}|J?WCsgsO&4$}5la zQ*nl|(KkC2=;QqmTdc!zjrx74Jx<$9NUR(A{rhyUCICLHI*>CI{MG;Pln6*XwFODXpP}l?hF9MDU1XWI41E_PYi{1XnBE~P;mUnBGXu*W zkGlYU-Tk`f-TH9h$!D9tIGKm$Q}o(5_xb(eM6l=X8rvAE9`ZZsHZoRP+*?5ubDQqK z0WO%QOr(F~_0R?P8fGttZM$R_VY?HwJu40qUHmLP=hNrptBu4ZOCyQ0W0KDewt&O4)N4ja-*;yq|-gl9^z z6wvR`oph*zDR4ZL)|tFpjfjHGrWHVu?_Vyq%cy94en^q z_Q0s<5OVUGTNa~?7*DpV*32ys{pvy=G4U3< zGTS+<&v>WipYeUt}^W)zc3L(>ITsA4=5=C;-h{(8oFO}vE1rdxC?ToJE0)cF?U=cGUy zi3z-YTSQgEBPY;G7fCxYF$ottGPNoUr!Sjkah;VN`Es_(H`#BYxxm>h^XTfIkcXtO z5XitPwxQFQj+G;SF^>0ZW5Oj2c+UQ&$UaGY-!xHisE*mL-h>hk&};+D%HBAn*7n@4 zl@jOQGPFiFPYw95Va_6%HAd%&8B_|&Drn+lU~(;FaJ6acXc`nJt~l>}%ox|IC?v7? zTiS~Y$+#L}V5h#jJV)W28ss9iZumF2yt*0|uQU+$vnkf=Iy0XbiNZDf@plS_4I6#( z6Iy=B_UPE5=^5sbQQiQfIJD@xf4Ke#C2`qib6!RUW>s2~rz*l$0V({c(bxNa43~JE zdHmHxm~{jHGzt2CXc9=Y!Ts_O3@)OpJ$R>}xTIY|Vyvrr0X0%h9FfHowve?XfSt-! zxg|e-VMYJfGk6#(#jM)MQn62sG;E70Y{~UVN}gU!a~c<#$NHFjU``5#zm^PTK?EKa zK%Pu(!3m5*9;L-0?jBXeUBrFQR|ZVbd&jhh6n`+v!fo-H9TK?6ZFjlQ zAhpZ8a5ZeS?U)sZVcWq{WoFI3LT1cd!vyeKIFx~73FFG`I6q206(?uYc8ZuHte2LD z45boVeb~5CCZ($GAcG&nl(JE6EPDU@e=4~acqp?rJ{aRt?w7pfGM817nJg7bC1P1d z*e*g!X!u;h=t3B?nDV3sPs7)me-8Z!wqG4t-2I;aYTeN9wZS`#z-#IUa*?zz8 z`+di6yzl&<=lP%KJm2c5c8Skw9*$}d@z;BN&=zH=zFf5U!>YPRuX-FhuHWIW z&$GQ46O?^9JnvAdW80rzTXj-*@po@6J$c+nY^xT%U3*nyZNgtR%4~IQQTZn0H+7jW zPDsK+vWW$!*czL4#q}mu%7t#mb+YcMuA+^cf1Ca*yYbs!Erm1A7FyQ0lnOpp+t{pT zR0Q1)bg|c^M5SIDY zJ5fD5%lpJYlP!7m@19<#9oN*&Urp4L+Zw-J9K_@@}{(n04-lj74)@2A*7I z66=a1I;ZuYEtfuBd8X3OhU^u#chw3ut&RCKL`I_~2M=s=tZ}r>uOn7?rns#XQ69g) z?a9s=E-AkfK3p+Z?V|QYu~3$EWaa%;Ynz*$%{l6q&G*x=%fg)C(qKV|mO)&Arv`1x zcM(1&PR^d&i~@S8*{ZqPIr^nbu7{|+z0@;3S5QeXimlXgT4DTSuD+X94x`m`);gZb z&Xq68^>E)_PZ{}P{;lfo>Q3n&Jh4vrENYrz{c_AFi=VRQ7$re#z7}^t7NdT_x5jz* zy}%>-sX^A3iS}V!TSFiJZQFCw5`VOD%FBD zX%Br^N<|Txr`Ed%HXYhPPb{UU+AoV1UMyKoyXx@Val!dMLf7Yl3!!}nnireLTMyoS zI!NuKe?QVUqKrS?$P+$DBlD(Mz=R=Y@IxbjIFTiwN1LkmD~~4+F`73Uidacu5wVf< zZAoDX36V+kgs`NrxX5I977veX_}0p12q#BJvgJufj6h^G1{aQ;=v=szma)i2R}kuP}_+CV(~1nK}O;)Ib4qvhD(Q#NxBT< ze>}Djoj!o4eidY7mRPk`A0lO482{;|KVc>O?i(~D_}JKi+!PD$Dw#}d6Z+J>wA={B z#Q=UR2*9O>0>h@E*KcjzHm60%te+G=JIjgqg~vw!kJu?G8>*meE$;A9bFAnRUM@qY zO!t+`=w7}abN#$=EqNcxlfpnH_;e~SJTCa@wwW@{2OiwkG(b#;p%`U{86zpWiIGPQ zkg#D)INIG4Iz~FEp`!)q4Z;WDX{1p%fQ1qU3R={OJg%7%D4J^o&bC;KCVo-l8`7I@@webvTnDK`H!f{98-^OV4WOHnYo zs(~9_Yc)VlNLrB-S4?nBXkz{ak-~;A1)@{fC=o_h8><}@-9c=%WS}RU0VH>@nJN=Q zLgD3l1)?oLS7?Wv*~7rVIw6Ww1RZi41C9`Pa-R^<`Z6H))fW!RU*?)aAdnS!U(bgI zrohjEBzKVGjlqp;qlL!}`4(?MY?~gcozsSDQD@?qMY|SgYD0qq^y9eUiZR?|)}%%$ z{LV8@439i+{AyhP=QUg_srazB?UZth-3>LOR6e%Y8`W zPOk5#Oq@iwgFHE~b=K8EOnBA3f>)i#c6*L3d$iFj}0_u1vT9} zgM$2jyGcR+=g1oR|BT7tp!lF@jU=FQ5TIzuj*$BZ|M#NhnGV5Z!{3g8XxX{ne#k|U z0)2#LT`Djfb7))PxtTt*e_l4*GYxusf506HZ(Jm<^~B zNh@hHFezBTb72RhZc;TnBFu>lqxo5l?FU5Oh){&EU}=tP7P?nb*t#^?m1X@zqiZ~( z;700=N}6SnMW1&rH70)D5@so!6Hns|TgxpvHo0C09pSaMlcE4X0K=Wbe#Rt7GTpkS zn^gy*Y+^VE0W;e74GVSy<%m4Fxj4sk!Wl9t!AkJ7y-c)T7&I#;IdnxQ+@!x5NRb-W zip*OhaTujYz>nl~PFx~1{Um(ta>~9b$=ONkBwRZ&dCR2vz#{4T5N|gQ=CMp4OE7ph z2scF20vuC|Gsp#i){f5fRA3v{e~3Ke?GfbGF?E@&VeDzVj>_7(olvstAt@Z|VTA7k zsluVn5#(etGDm{VFyB;Q{*6`Y5>fIbt^_(`MAhJ(x<-8m6Ze|d2mJJdrSl@=dfxu= zmbGnx)=ufdOE)ao1~N_R3-o{DJAXK3k3GB!-QEW-*QXDT2ES20o z7ky23NR!n88AV*~kbKTI7Y8j~(yE*GCa}hb(=M67Dm%~KyHqZlOR4wed9JoeDHqK9 zA?~O9=X?8SD81)pjS*y(LORl%`wN9`KjC3QgZ@ zBX2^P0^{T1yL%Lx{0RA#G&|%vy^cM9#B|HXOLv%ma-QNCrEx_ z!dtu zrS4kJW#;2GQmL|o918_`ZheV5{Y_#fuIolhyr?;!b$%NUva5fZ5>qcI70e9bZM=t` zXCc`rZ1UdM87C!+-H}Z-t>0hVBrY6UtxTojlZ0U zu57;t39yxln1K^g*xaP@>k1|JT{sgjEFjN0gzgkeBmhoM4A18h-%*)0DVX%TBp3Os zqn0q)^*i_2KW|K>2MT855^6)Lxu-?E6;ne2#in&-*G*|V7bPQ~PVWs!CR_I6%tmvB zMCfO*=I(8@eR?VGX4pCu;uF~FMaluzoCmOJm`i_h?kHLLW3N|Hb!(*^KN|L}6|CLo z6U;@l;Q&_bCDRG+BHUCC>jZ9)-64iscsdSQHVQaoMq@RHa@ihhXG6ET0Q<_*+Ba#c z(a^AHlMY?%W=i&R6n^NF|me#K0AKh|ramyL!sy z-05l+=4tA5(6H?Jp6tSNZhsNEef4F6b93{NGS2ao6oL25Q@LE*B^Q28P^lcc0#rpi zF(rFZKsy8H*x>&DTIs&-oZN|G^RisJ{Plep_F-X0_FWi$s&UMfuwiSJ3ti6ehT20t z1OPJ`gCNL)xCVz18}_DekZq^!MxjN4rd}}#w_!MG`!fl`k+zfKXZuCp@pC%=T`nGL`Nvjtt1%94(jeBjnrwu`g`qXq_tt?3eD_aJtg4XEYTRMKb z@$v;{*%5lFF{_}M^$q!!@n;5j6+l`J@-|AL)-Cbe?6`{z1zBo*=|VSd6c3K`uFJn^ z=#&!`7@@GXG}#G}rn}wwZaWXneW{L^+IlxB2wfD>rOUVH2h{OrmB@dRANCuqUlmf} z1+o_x8|FRb00#Le=UEM@2D+?+(He*n#e{VJDiJJ+HUkwgB8$+FL=B>ZX_;%|V+l4=NG-uk*@-wJ1G^U=j*T(dX z?!@35x?}CU%Sbh}TQ{oR_kdLGsNWSR_Y0!e^ssTo2YEgW8jdv#)6c7_6Ror9ZC+Z# zHdVaOKuydf9sI=rP1)&BYCiydc>}{Q^QX)QQK(XUKr5@YMN&-A61j#Eb}oOh{@-Rk z`D57?&9+nX=OCnoG=u~bethBpl_f5bv(R3V+ zv{2C==V{N0tWYPfy@YJ?@ORM;i{~I}dhQSOBs6j@WuvT5_Dx5PQZR+J&kugJQ#p3o z#G{(h?9Nd;Mxbpr4#0gPs#Gsadzib_>J4=JPfD%h$8GGs#e!)fj!FkZrb;$GSAl8m zpA&Ll$O55_=g0C)>mIc~0y(aWm8L}s#)AiO1K7b|U-s*>Pw&tHZ+SJkW(^)>2UKwC zQq3!kqZF>loNqv5vv1kiABXG(V#)0F@kcz3BN>xaIXj0+alouWW2O01G-mFCN^um+ z8L%DwK2CQiyM@f^>vLGUgU2QX=(W|AUFD3E>X{XO69yONlQ^e`Ucu0%x*Qk)RTYe$8 z`i+N9qgfdQ1Ms4$9>sYS+9irmliX$dumDjd9={VE=L)U&rmiPckB9h@JL&ahxy2>9 z(#kRM$txE6N7UzF=Mvr2A}5l!I4Wy3K+~d>Vfv%~oaGYoO57#)(^9L>in66rUFoX8 zT(wNMoo8`JrSb3PWtm-}xU&5SrZRh@mS_$ST31NU1#p25-flQ`ulGCnO75^F@Wf8^ zm;H$HW)M_XJw|pDosJ77hMAT|idn9Dqx1{GLPL385>1~Lf5yEs{<1Qd%;2%wKYfWo z_K$yvDJH1#g#$NaxY1RsfZeP6fN&H{JUD=o~3D~L16&9+0 zH(%#(w`bK>?NK9i7#@&y#CW}7+Tu*sR{rR0ZcH_O&VSyf z^8lIIvjQLZx<%8v1Kjs)moo+C>Hwa$ZK_Yw z0?!M(A50-%SbJ082uytlEC~qn#D1^PVGHESe8HrzUU0i!%DuwpD@dd1PIv~x(7y1L zcW#>s)cda(C)<6{dnSU`j=h@o%^y1wQUIJ=7Js}Oph)X3bXT~LO~L_07bYe)4I)eD z&Zur3d8eb3uu(awQ=0Ie(FW296*fN@mL6cXa zO0iH^dx_YLS0sMf$?`sbh-Oyaw(UNgU)k`y_Pa@e@mQV%eG>3+SWSW8V-{iU?Es`y z%gUPqo3JFv6I7Hu^K!X0n15YZp3Y(8%Ulknx8dNn=H&{*E;30Ys=Y&F7NTgT zsvt?vfeRD06brob5y|vlo@l;s?LnW$Rm^RJFRw>ar-C|mU&UCTUwETcgMe`3oJ+VS z=#`HKu1zgeXi@97Rm?hj=obs85b$t=kv_9)-b#0bw3`_45)?O!U7WD}JrkI&?Ryk4 zwoGt|(|@3`XMek5v#hWcO_D)-l4zPyDQ`@r@r{(>nPNvWB@tO835?#Ue6}QDtI39E zcP+exc^q={O&I$!Q)SJM`TEVFQV6L={Pg=XZKiB zl(gC))L2aoYD|(VZo6R4R^e`v1)ZW$z0-8``%*t4+#*Sjrl$9}7|TWW4s1WP>kc4` zHqU*#ZoSu*Rx^hqTXeg0&0V)V+Oe1?pXlGP@Lz={zKMbJ;m}U$(f|@O7p3=U?li4h z#r^7@X?n16S7zmNq8+iSG>?F2jXPugnYx5Xn5pEw4Iol%KvbW>*i$te%i z(yz>E?1UC(x6tPOi?Y?odGj4tv(PCk^bsbn)z2|v61s~Wq0k`tiydP1xcMtfLMd90 z5YN`0GaOw*`UxqFHZ#33%zDCVMyl9V^C9my!%iXJnEzAjCf|-@C$C~H|34f`ad7x% zEhGqtZ*o7j0sux*-nMivi6k3ov{~gXsqOESh#u-<^tp4$O9xQv~(RJAwpPjesotqE$ualqeXAh9L zJqvFBkduvq1Bm7+D^Dc}wEP7}Aql+Ms=>0Q>!Ps#z}{2JPEIUGLq>_7yjc=HUFUB> zOEhT9BVGptJ2mu zDmR-fG*(itN(P!RNXEyFOa~A#r9dClZ|3ad0-zMwcN$#8R;ZVG6}bKFSDWn2oQOJ! z&l?{!Oy@Nw4x6KnYM6$YJ4`!=$pgEIi$%JJ#TK1P^x)x`qR3OJ+UI#F%o{OjSQ@3- ze}BgdfYnUsmzPwv`;FY6W>)E*KgyOJrVYM|v`{YFe=xGipwU?CtL%GooF z1Efo}(kKb9pLVCF`k+%otaj)a}ctlO&h9>HP&=9(+690QfHUw&NgJt?t5Z) zNx;FGH`HwjAPCk1!{=o?+3Qxzp8|iA0vZjVaZg9xeuX;?2@=LZVd09f-m>(N+^#NP z^QbjmCOyLWqI1Ie!q-7PcGuMs9lu}gCk1Mx2KoDL^>N;21v*q7>3GKWwL3iMPAk=P z>yrf*586*Nl;W=_VDeeLv*(~dEDy#+8KO-=M8tk(dWE{^e0NlfVPlb@6J&V{7HBql0%G&Zb;GRpwAzNmaS{m z<+lB9x`E6)q<$vtvf9O{wR!y;*veG8M+xa4bwPLfRlq5_(T*Mn_CWyCe*6`@UXi(l z|9gaj(Hw)%6mGi>ZbC^mfj7soAC{hviEwP{PAG z=H1n~_N2ZHdrJhEcI-oIr2Ha~(8*lN!)d0MHKkB(Eu&>rXF8Jd)SWpn2xve(@@;CR z@cZg6^jb(WSF>kf>sEd;%ZzlB9aWnly^L~Sfu~h-Ae5J(iJUvv+Xf|FHiKTN`!H=KKMkm?g-U+OD3Ql z;7S#SctELbE+k_qASwUnJs+iUqapakvBFf%0Ht>aPT_z5BEkHI{sj?Y0zM$Md`wbh z+;B_otR`90V9(en4B*r%=5)+yygqpSbN>nfc`E}~BwwKhH-8SbJ!thAOc?ibxU$#F z6vr+b0W|{?ySUy5)%}M)i7J8*3-yDU0pX5+@}oEdrrtSltYVj;h8I3I?V>4_GS<^_ zKfDuE8@>M;l}qRouVh9cX*nq7w1hJ_W^QQbbdkEKBBa+43ov_o;1;q!(s4*du8_X-##@4Ec#$_D&CfU~@@eC&ACO>LkndeiEDkhjR$` z^EzSuxbSxu!LmCzxYMcpv+9W=>i6S=5KBx#8FE|gwh{bWw6A!O{wL|W&&~cXFb7iZ zJA`p1mX<|Z8QKDdNX@y9PsYH<=&ts@9$%~AcZ3mv!Lo^vu(1+xE&Uus-mEXe|HZQU z3GBvMqDnBd|I6b?HSUl#p&xH{CDx;y*X? zN$d!>b-lYD-a8-9-aC`Yv;3b}0qn-XQS@9jMR;{-lQxI<+7NXrN;LhYp4~y5RDiaP zXrC_6V(>1h;p{sM#_jXr4YV#jv1ZZg5uU@nZkp{#4{FcWC@+LpesrE&g7Ihn_AU*E z8fKf#P3e163#5p2OjE z@_vo3*UF%}@qB~yaE0+f2T2A6uRFQ%QyqO@oqmrJ;h1e;5ZWq=36+3oMz zJbO@s(+GcEhsg84iD~?_1d*|}C>dM!BPeMEjgU{43rJ9Ci5{-ct!|;*JPp3q3sfJF z9o!#{bHiS9Bt;F=iJC*}B#O#AOjNs8oZ-|pG-#37TjPI4#Jdax(AZ0o%r)Z?&hH{N z%K`~(*piSm(OC{i=}DdZxB%8oIT05J2jX33W!+mhm(Qn(Sh4ppceG5s--3U~TU`10 zh5gwXM!~GJ9#Xw^3l{n#GU$0ol!D7r51f+2)rTY{BLYx3<*G=9HyfPz@|a#tv}*JA zEK5qa@NgGR1{YSlIS{Z@!>3oBSdzdmV4>gT$>~gN9n@73f}i2Ay#Q3lZRkdyx}xjO zVJ@c;`ngnwGMIm!$!jE=%y1a4Ts`3x*Yu9DuIQq(NJ*8~qBo0>8W5#4Qo~&H*aoB~ z$-ZGYKfm5I7p`(C2gOHnaQr;m=6-`=uAE4a0w{k~aU0{s+Q81?!kGM_tdXmYIe#Z% zb4a14MxO+VOx0^cdILH=DX1)@24{_$9fK! z^Kz256mZA$K*>iccD5xlCEwN0rxC>!#zRj{R&Jo-c%0LYgkFR4I0Y*TA1aDrx_~`&8Za!*#T|pgHZO%j;Qwk9Kkso zZ!db4oNEj987o)ifyHe!F zYFMq2`j7^c>S0m@jS~IYG1Wj>Bo4C%@&g;Q0iEKIFhK5gm_$ssBy!joy4xwwxRkW) zp_CK5k;Fv&S@FJZX=qp(cGifdE;2xqroL1!epr^4$#!mxIgAr2?mTjc>kFOBcI1~; zKDcK-IKt@kU%?EG9b!Hs@N;#F^Q;Hwrjt2jQd=wIOihO2nzX{v5Oc#~SieuhM zjYw|DYQP5EDpeqxG|?hexiAZdEVauPPB+E5STIFUk&@vruaXTpBJ-DQLE}v*2?U9l zJwY;egzxDr%~+eYzk2JiHZ@zaNmM(0*x@Ci>@qUhXhQPz`zY!eZK}vNY=1FYsf}}G z-?GmFU0RT(y7`mU&+5(pjXOknNk7MrOry@YDgg#*m=)lL;zl&l_%dlN#ry_kYwuWC z?as|=2S>a#A5E{rA08X>*dC&k_~tPPrQ)!eFN7=2-X@?A98Jlv%VKGxz1{vY--FRN zTV!NvA8?xZPRmZt5>kMrdpj$q_b)sCpfKQ z90HX7on+w6P}Ew!{T}$!f2Ma41sQ`a$NiRut{XM1??GsEf;K^M+3~>Q-buo;5^!Oq zKiUdG6=nw^C$O7FSWA+lGxjufl~#X5=YjtSqle^bq~&>WZCojObf`Lr*L5qZl_TVS zeeSfJi~4YXsjr_Kwp25zq!NvLprj|yat8oMRHQ)jGgT!sa-5PY`xXBxHLONn~?vv z=Cxt9RVepX!#k8_n&~dX*q5^SGN5Z=#?x_yk6qStTW%zv7h@vDC;fYRa@gZ~T@C=R zff~rp4`g*r@AUi$fQ{8TJZ_&`7c;SlVLu-#Yqbn;a4hB-RlIRBZwY;>JyF&kcCF(Z z#(Ze^I-xbdiOXuZ`8}KO|HjYI)fR=rHrN+U>k`?{9kIQ0S$P=hX;Ig%#yWV&6IUzs zV}Q__>1MGV%xRh>k$mvz`LzTetOLCS=pCBP|Iv=y$Mk1lt$FJtA6R!PShuXtzcHbH&?l#WR9KjUL)3h^iyHypx)O zVV5s5MZ{EiL6Z)rP+UI0^HElO{@^Q(AK+2lSNRCz?TP9^YeF+u2&N@(lLiF6C=_O; zxM<6Kl_o8pynw5eThV6^ZK@B~A!&1jdWmM{4+NoMynF3CJiT|zC2Nv#Vm7DMi1-Ii4ynGhWskprPvlS ztrSfVEZ3P+RpCwr;knPU@LQA~@YUM_rTf0!hB%~C84sKKp3Xii4T&^(erC{2wKU|@ z)K>jLwKh}C=F>)W3~6(OQGc@h=zC<8+g!nHVAih2jarE&XPnD?HNccte}1 zt7VM*U~t`c!q*C^Z2@@JIekYK)J03J)S=TahK1nowYR)c^djW_JyN#0eJzbvdg~PR zUorHRF#NjWl=w{-;(O~7t3-uguInHejZhbvoEr7Kr9q(k>UTF7y!o9tBi9g~#DD0; zRdAk3zNf{d>VhWo#M^^(e!;QlkHz5|V-M;`r+^x?*YSnMZ2|fznKqW27nK};H~LtV zCu(0?Kf0AV9_1}z$84dPxN*h{%UNifC5C?HHFjP#+PeqkHJa*A`fiJZZq#pm2f>#| zUvG`5`Qz*8Wa8{HGS)1tk{+{;T4$C{W}XRkbZ3IDj)hp7i976h;P&cGozZ5_E+7g? z!z7)%zgu9mHv#s@Ju9vT#k*p>7$UTUcDi`462(39MtmVWc!Nt}+^KH)DSt_Wcp$;( z-{G|jekWDr_vN0oA+8+>jtJ#v4QzL^LiA1dpn01SQO;8~R*+F1&_hy0iqTb^RaZ94 z%qx|F8zT>Ew$aj?n`p}(p}miHClygJDQ1*#9@baMHo~KNmc~9+{`{}bA=!%l>_7dB z3PaIv%>VmiM%UA(C;M+{OA7)*^uL-1hTqB59Jqkr0~DZ%NI{~>0U^VZ$odqF<72in zUBuAM*7WK&%{4mo+AEcorD}>OL{TC(&pMA)S>LlhtjSU=P-F3% zFWY)Ee3L(PFEfn>1iYf6=%0z%Ef0=X;*zY&SxO5rGvdjl(^zkK7eL_|HP4*b*Hnqk z!(#w1HZEiA=rpQl5nJ*mZ)REB8FwB{ti~SdCR*46rB!Ir=xkY0R?a?P8Ez*OI~0o*NB#(x_3oVs07 z{4;4l;k{{l>qB}N8+&{6d^UP}ZA!k5>@2R8;hKBfWZ=N`)uqSXABJrj+usd;#sI{~ z443;6ytC+eMKGhA|0rPWOiZx+rkt!=s5ke3AS=>~)To_k+qJixTduWJvA13gyE-H{ zZ}#sYj0v-_hgZVP(-1I#Y^fUf&__!*!RX;ftYizX>8MIKHycjIIy>D?p!-@!b8{6A zM_sLUXA*VUHJ)9zI>DT<-BGOgKLDY%&JbG{H(nIB_LycJ#C}IKqp>sOfSsLpij}b* z*Sh*P#*#Lex0i%!wCJOySMHyP)Y>#h2`Z#z?F^u4mS!g}Gef5+TX8oG9c1<|VJ~eU zMAhPn;XHWvB4)(s=f)%YcYyxU!`WZWZj1%l?Fm+;@<01v2`&uJ;h!TYKtLmGk8o{W z+Tp1!X01hoM!1eEFwyNhVH*jN<6^!U2XYw9C?7+!PVDPG_p}N3%3sr7c_eq3BM_v` zE49OdbOW5;EWgc>*%?))*3{4#;ks*sSnm zuEzIjYc?#A<)eql$hH7ST@858IXfmU0>wa_+I!{Vu^SrHV)C-r0mU3>k+=m_HbOBh z|8{NTT3cZLHF7Wnx3YWmzh@OPo0+IY{{r5Lv}v2yqKI(fWI5P$V=y}bZ--$38ihUq zO&nY0FwNB~#ox=duH?1Q;h?oz!Qg~6FG#XSrMQ0W1P@|g$dhT$7yvZqxCV7YUPb*A zPIM;w0!CM{r0-pP0Gr2M-&Pu(@+%76j``pG+o^N+tyXpl_iPQOl)YjY@G`Zaw9o>B zX^WxefXJXrO)i3`Gm7Q#vs~mYi&OgJ2wKB__ysRkkx~QgP)3Lfae$5_>%Nj-dEDc5YnjuT>n7j3xnnnkjCDzY%DgIF^>|5OAVE! zQwJpxoMn`OdI>7ZI2XxAic(f#>&8as2XQ&9<->X^;C4s76dizpf0I&@f2q^*Yw}S|^5E^l; z7D^soqxTjBr0-%+7tqP78auIS1(^A^`(7o`SN`fT;V^&n4$v-a&BVK#a~BxO&zd(| znBJQc5pSY3Lsr?))Q-zgB_%~EF^p4%L;8_K(Mnxrbdr~RBVRiyMXrJ#4)&%|+>mX# zr0+0=HS=M)J%ZobI#k@7MEmX;NGBco7)Y#bG8|F`s3$N>nwifA5wKaX_M5>*U~FYo zY@IclPa9WGW^^V+Ubl%TsQ+(vo9|t+U88ZylC@7|zALTFCM$#?ZhC!%F4Yi_(sqfH zzn}^%$zRqjRP*L-nmIS%Rlvx1f{Tvlj4*ebIomPoxokLXo6f!FkWz+?)6v%2v>dUA z1-x4u>u1WUoJo00mwKG>rFx$UrEV7pls{7O0T;v`@lzQ}9I9Le_zD(EeIYpbYn4?n zz648e7RYI?h)lN#D?dqll#i-jtwZY)<89QwnGMSB6<)bZ4oG3y{aTPVD(;_re~C(_ zBiV1YHB_Q4MNJ4C;qGmm6IdI2JchmQA)5S8t0x z+1LPMRiPbB^id%=X_o58HBzP;b;!>xBnduG@?`sh=^pOZ`Wo2Mk>6h$?D@g=fKl2rv7voOd!nAAj1mZ1!YG)z3J!chl?<`#3wqq41 zDq;9yN0;U*;^93uGD{yQb z9_Ay?K0rjVCkqD&fH8SUV-90FOxntb~V$>etzR1|}*L(vF&Qb@NY2_zVckMkX;In)pethGg z9=n@D(w*}|1bP(pl{fIxw}iz4NL0u(an{FzjmlugEdZl=(dNQKNW!*|BMXR_UM>=12ZWU%R!*WdK!S!>#}{3Sj^)H1y& zE8XQ^+{Vo4w)FSFCf(pyv-{M5SuJd?_P(!L>RpLx5yUw5?a<#zsyav)un^F62KAQk zfI*@HYN4^;&=wY4H<$!R_rnO6%}_lY47Ak{9(R(_=8{sO00da)nY0jxRals#ceBSn zENgus1l9rC4+mpsSZh|}(MVFo?0I`*?PrwSaZq<-p{KdGiplIGQkhh%j!7uWH^tAt zS%yP>T8nGe$FL80Y$2;7g;~>M{`M5&hjFaOI}C9!I&g`6X4GZ=4Ew&eNU4YJ&cdw- z$7u)Z?4tvL$#sHw0OZ8F09~=OT>r&_w7@$v@ip7_QDnL-OzKb(<4q=jtyjbAFIa6@ zTaW$uy0Q9Usxj4?&;jCEiEQ-p$qoe<$X4x_jy!)X_;yGdg><(*y_Lk<^IM34 zB65k}MJ@7_bM7=`B)`2*dEYUZbK~piIs%*zL*icW{?ukG;5AKC%5Qnb^>50Y`B*Xz zu7nmCj=Fd&A(~-6C3R9;tXg_^g#Ytn>nisoq!uIp0E}s=cEpQcGJCx8uR|Y-^1#z} zv!%&{BQ9FO939v}>cu6JL{sPq2@tXDgivzqgjCTz$h|fczJx!LK0xtQhoQzt-zpBK&1}h}T5N zy!f^Pv=%KfUc^W?j-vxWoYU$j;DlH<-gM&M;*K~ zBCYe)^Z!nqjysNXdh_MWr=Cqc7TG@N*`|tPvX0(FmKL%wu@a=ddi2* zE6pHc#XF&G^W{jbSPT9_Q2eu`VPBNJ7gC~kMQIko_vcQXDP(U#X9atOS!hQCGCb-D z0+dujYmgMxcVNiP7OmLg?ThmhWkTdDo{T&2rGsn?m+)OFQ&^K)<{3I*KMxgSu18>a zEWuAtToM0ufOlSxWTVcKKf=C~Pq{LlrX&?3F6O}4X;3K?exR)n!d#JO-IK?TL<_6D zxnvb8E?Kbo2FP8P{YJt1V2^<2#*H$B0Z53PfoAnHUA*dNt)-|K0wQ3tZOLOlpb?Zl znZ#v~z&EnR1i}d3A-yRxX%6r5GaXonEA;sqH}YZ1w?c|8VV0#7K#`Z0UxC*8EDQ50r%2A z6|d9P7gh*F>^>s$p~lk6o2#Z0qd6lK5>_V3izb-kH26MNwM5Q&ege}w$w6|7kw?+> zdk8p?#c^VycSOLcfS;NE2eQ{0<=1KF*YP7D=b!nq1(Ae_Ky=tMq;1jntdvLg$Nxa? zP>z>+(${C`vCU`tb>s)K-}Mh6pmY?)xhJTM%TbMyJ|H-U4B2E)J}X$lOysQa&3(gH zf0%${A)Se7-bV0!~pSPOAun$8l%M^ z;zb4Iz61hxSGYAhFaAnpL6zM0Y{2)gq54FS`Yh;UgevOzaySLVVK59IU`BD^P=WXs z)%^7x{X4IutePp89S_&6_=m~RgT;6*Pk+LOW=3m4r0k!I2qV3nGry>sTuY7_lchZS z6m%7X!(|~3t$nTFW{8l&mK3eGm6;0T636(96`!j&;*wNIMK~BP4f_0CB~W@LIpsvj zSzX8Tr46U^ECxP80!4Bez;;=tRr089O>3?5Qm|y6crLEQRT=oRbbckK`|-KD|ip%HfZ+ z%oL6-qi(YIBp&Mlh}TiFc=GfN*-#wXt|_eRTVGQc=sC&DaGq(kCJ**(wD27D|DouN z4}PMw#3SM$06{g2X`~_>QnUj9+J2NaS`&k+I0y}Pw9$*e7|0p_A9z{Bm-y;WkZlQ%4 zbZyEYb1k(e^Gf0a5O2;q#W}7L54#Rhd!VIMET7sx<(Kv%ZPK$1Uj zGQCs82GQ^;j<|aNp72SR4=a&5^HY2WY2p_>|K_3ci?Dq}w)BhP`i7?Ri>W*z1SYKr z5-y&}zO#NoWUYq;?fSjb((%E(UH*E_*E-zoT%0+7Q~w;Cxtm+3$=oUCCvZaVVhYz^{>bML-TFQ6!ELiFqxCK zO`JlCH9W|FtP>4uL-qq({G4}B(SaW>rE1JN-f$>DCNDKlTxzenAq8oGCAQW902`fO z0mWYemMyliF9Ja5`>BUdDp9iu62pn^E$M-a&K(6bVLkl$+s1-io@2h3>eY-MkwaaP zlcrjbJlrDddf6GD9G8m^&0ZJgPKMV}V2(#%>%*elFu|@7l?0no9W)HVrvnikoogPV zu*gMwIbk_dJ+t z096C+M=zDj2vyqf0ev?+;~-v6F1R+?M5P>JNGZ5 z-^E;}yv3yq-b7Q+i$a6^)s4L{5wSL*^L6{l=S=&__e?kE$4f8Z6Jl4)7gG?i2!;Zz zT!byasjJYC1tgzs1WfT3nA1hxObxLJfZ2yJ2eTCZ7q9iFhkiH*EfPd^O6HX(R23%Ae5(;y15q>W;pki!@*E66Nxc}UrqpWDyQ-QGNngd4e2_~2iq zy9%rY8!NgzSBnvl1WYcSj`hS6*jQk8-y!(rHOQ9Z1gcOD5bE<8*Dh@KnqYbYc>3FE zwVpH|#V{mmNzpeJtcB&I$LLeq9fF4e>3GoP*Vd)Q5$iUzIjT1HhQw#)SIq6AQAg)o zlCz{*r%~3GJ5;XFPZ7{3*{g3u66Z<3hOM@lS@x{xC%Jl!oN+r^D3GfAMy71HsXL%h z>8iUg)5UiG<0mj^S_jG}5-B}})7J<%wL36*sHV$W){3JAT^TU|j8&jWGZo6I zr*O6zx5zM!efikfkRAIw{am}wlkT=_47*=^W3jgk=7YGoSSy5gaf{s=--XrI<+$cL zj2~Yo{8jsm_K0eAf69Pz;;=*mk&YNbTu@h3wx)&?tQ9)$tES=Z+J8MN_1a5prQ66T zg}cnCStp%g%va@MjaO~JFz2iKuHn<#5p=m_NkB(>AAZ(m#9NbHP5Sk-z2elo-Sl5g z@opvVPhYIs2A3rXaej;>yg<^<+HOuI65sKd)a1ID%|@w9N6R0n^BoHsHxlJgM!mVR zy{|YmwmZqt=U}5GVh`9Y0y=yCZJe&( zh;OHZP_Tsk)E;pAbmH@4S7Xzo^Wt7;{&*s+9rODQYm?=uk1vS5ol%0t(Vg}}{ODxmk3C7|XtJx0Qm7iYi(rt(%D+d&0sNDBgG zdxkQ8(o+KJCgqL+qU_EdqS;dz&<~cAdPe{e?bMRSwKF;R;pr)0@Ckyb!17dq#6R}1 z=zCAB@5dEl;mJQb*huUfauUz-X43WU36;P5mdxu*6LRAD&4!qtc(;bcKMIp$@jOf0 z25Vr5-aA&scy~TY>>IiS$ivo8U>w-RigmN3E^O3KPCkMw5F)rV(P+g zi$cP_w#NGduj2~)ufKZ|3j^~KhXesdHinLx!fhvQ?#ec^mTPyq3 z$l7%IZ7wWecYmdn9-Zoc7+GAS@j}Qn!n4YxpO45!AL6a3Jo^t8%{KwbZKKnIcVPb7 zNGqV9;sio)PqSIIw2h9P`-P4xZQ=YA*IIFm&s<;$XPeyZ_8D^rbUKfhm4w4)lry;+ zEi5ZjdN=3z)S1^MvS0d;+m_EQ?6~0~N+q0XcT-Y#0G0pq1q$}%F^%2Pw_5Dq=ainX z$?P~BQvVf)g<~Lm!*WphTtDlYy0V8Jn03 zjj1R_&1-_f){-^_=w;Kb3yFJJxIk?D*(N=}WzkQ%V`&HIwsxN<+Pf-actYQu{v?w( zFz^Zj@nQ+O|F(T5bhNLsU>j(MTdkMmr(G%H$vu#Ni zgqRiczj9K;8mLhTB5Vk`B-!cuH#V<;%AG3A5e`X~z31lZt)5uQcXqzvI3DB2fx^oi6i>z# zQkHIRQ7L@@Qj-!{)4`6C0f%zy<3qAU2HA!&j4fneA}J)2u@uP?xk$LSVRAzsqp}sL zoV3`oe6&fJ8w!^~WHRV-RC==dCvR(e*gdPod0{y`<^+TdH=)| zWf5bajUUN!7yhgCDmCu1)<@9dMP|<&0&l%YtByu*0es$i^gmBTY`t2Fh zr!4=h8M1dD?4}uB8~#>%f5bhz@vo50A7ipp52$rIZPla{ywo7l`W=nTvLg31?e^Fm z9%(#o#ogH>8JXQnPZz0aa+R_FRwN%EETt8eYM?MZY9P$@sL&vD=;la>7V|#uZ4O{< z^XeaV)v?2Ie@K;A^s*&i<|_=T`dju0^I?aud#)yDkVD@+W-DGNM)!`;!`7?QiEK0u z2LcHCwdONp=fC!*3DWrKp}-#+D({Kv51i4G;|Wss+P@-%&id3>I;*>?faZsR;x z-KYB>?Wi8?E?JZ5U)RO(F#W>c6(cgWdCQm0esxb6Aw|&_eCzlQ4 zUW{m4lXlIqD=x)ZW(}$m*$l@{7hte&Dr@vv*62>s$#$<(blT7)u|yW2!`7T!Z3*oD8aIWz=!N4mQ z-^sL&3eRU(Nmpy07>y7<^6Fb{T&dUu6~90C)A~5xRlj?rni;6N8Jg)Qu$6i3u<~jm z*ekf*B|3g5pZS%(CMQMZ(zn}8VxdFKOaHNM*Ekn*8t*2J$7ZCU+6R$ln`naJ48Hy!QDUP6CIYv(=oP^9tH_X1_VZ`nS3hzp)ug zk>7cn+mHl&1<2fq`dwaadP-$89yQRZs%z1z;JLfueQ2&;JQc5{rfn{WaL)WusLoJrHh`EgX>)vw(w>T>~E1B)* zndzdS|k) z=4iRsbi8cZx|DTePx#K;lXRYMoY<>n*RVZP*#3UYec@pt3w}J)J-)A^#q((Xs{HL& z@EU`$wZTORUZKh+O|JfCo#1F*extye{Nvipono(XWXH{xH)Aa673-7qW#7LMzImNv z{9N*9;?%MHRHY-={3<5-bva7%i^!V2Q6l#SF7;3Bl1z5c?y@Z82v$@TNI2&Ih7W&M z!xpUeEfvB$Xm8mz*K8CMsQiX$-&fewAMex~S05ADnE6^&Ce7OP;|=aM1F2$#5*_mp z#jDjHZYuUPzT>%T6R2rWA5O0=bo%r%^mJn8$-BCD?pj79Kc#=FTbc6WMSQmh2_{e> zg15dFT&ouor-*`sz7%aBiM^OLV=hsi3!;S6-w^u#2MT`4<^;xl zqKx3Q667kCjz?nm`Unh*i!V@{Dj8o8p_u&+RU)|#sPfO>gv{y(2#lIS6CsFvt>oi| z)tY)aNHEkJdXX=C6O(P(H#q$F1}FHl7n~57cwpeQ5IM{%^CPhgBv?fp9(jfP2Odxh z^YQlaryf$LhJ{dl!VdZS&^A!iR65(cW;b-$SgDok_3Pl^CFJ6M`(96S9dr|fpIsC- zc3~V!L}L!WF#c3*%=eh8?XN{B4K5=fexsfO9iwvOR*z8LRt$aY6N!?enP^0 z7d2o@K)q#+1fpsdDBm#81A#uvEby2oGQr9O+OosVKGszLTF7uKFTn=R%83A5HVGC% zfFw;s{ zk49l(axA@MfWxUQlfmI^<)FPPOT@bki6pCI>e+3=aM%C?!@@N%jINIVS2tJuAZvxX zxc-6@*H7W^Zb$7zQ84PQ0I*TmgB1fAx;2+0rHED zfT<7yQ0wM~SE_;vdJ>61hAPG)Y2D}&T8Cl8q#vF|v|>at4I_Aa1W{9@9%TF>5@K@v zD{mNZ2;)Yh5C?3dmhQMwjEIZD2nD7X657f{LWhrH*sEAcR;yPrf*FqyGfWj^OzcI* z$CH3*?{;*ah@C$_joEbd${_4LhCNFIrWwlc0Sxb0VIY-G;9a`7;~=)r7{T}YklbGv zF;jfMD8knFBWyMUVtTB;Bw^rmHUu@mqka)&IE!JAbFsGVas@$bFE)c529SVu0fuJ| z$RXQ$3=1rRnCwr}{c9y0l0h^i52^sUUKZ>dg9%AaOeyBGrk7FK;4{k%Y zDnrP&tqIr-nJk}ttYrblF1-{#Jj!VXlMl#li%+Y?m16m$9<3BhWxDzQuN%84tKloR PFlPAY0appj7IgMMQM_1| diff --git a/examples/java/gradle/wrapper/gradle-wrapper.properties b/examples/java/gradle/wrapper/gradle-wrapper.properties index 75b8c7c..838e6bc 100644 --- a/examples/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/java/gradlew b/examples/java/gradlew index af6708f..b0d6d0a 100755 --- a/examples/java/gradlew +++ b/examples/java/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m"' +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/examples/java/gradlew.bat b/examples/java/gradlew.bat index 6d57edc..9991c50 100644 --- a/examples/java/gradlew.bat +++ b/examples/java/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.jar b/examples/kotlin/gradle/wrapper/gradle-wrapper.jar index 457aad0d98108420a977756b7145c93c8910b076..5c2d1cf016b3885f6930543d57b744ea8c220a1a 100644 GIT binary patch delta 19567 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 PFlPAY0appj7IgMMQM_1| diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties index 75b8c7c..838e6bc 100644 --- a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.3-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/kotlin/gradlew b/examples/kotlin/gradlew index af6708f..b0d6d0a 100755 --- a/examples/kotlin/gradlew +++ b/examples/kotlin/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m"' +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/examples/kotlin/gradlew.bat b/examples/kotlin/gradlew.bat index 6d57edc..9991c50 100644 --- a/examples/kotlin/gradlew.bat +++ b/examples/kotlin/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 457aad0d98108420a977756b7145c93c8910b076..5c2d1cf016b3885f6930543d57b744ea8c220a1a 100644 GIT binary patch delta 19567 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 PFlPAY0appj7IgMMQM_1| diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 75b8c7c..ea13fdf 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-5.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index af6708f..b0d6d0a 100755 --- a/gradlew +++ b/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m"' +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/gradlew.bat b/gradlew.bat index 6d57edc..9991c50 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome From 100efc71fee9237af699afa2d32d00e39fa5d842 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 30 Mar 2019 22:45:05 -0700 Subject: [PATCH 066/155] Updated dependencies. --- build.gradle.kts | 10 +++++----- examples/annotation-processor/java/build.gradle | 3 ++- examples/annotation-processor/kotlin/build.gradle.kts | 7 ++++--- examples/java/build.gradle | 5 +++-- examples/kotlin/build.gradle.kts | 3 ++- 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index b61c111..a80c0e5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,10 +4,10 @@ plugins { `kotlin-dsl` `java-gradle-plugin` `maven-publish` - id("com.gradle.plugin-publish").version("0.10.0") - id("com.github.ben-manes.versions").version("0.20.0") - id("org.jlleitschuh.gradle.ktlint").version("6.3.1") - id("io.gitlab.arturbosch.detekt").version("1.0.0-RC12") + id("com.gradle.plugin-publish").version("0.10.1") + id("com.github.ben-manes.versions").version("0.21.0") + id("org.jlleitschuh.gradle.ktlint").version("7.2.1") + id("io.gitlab.arturbosch.detekt").version("1.0.0-RC14") } version = "0.9.9-beta" @@ -38,7 +38,7 @@ dependencies { exclude(group = "org.junit.platform") } - testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.3.2") { + testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.5.0-M1") { because("Needed to run tests IDEs that bundle an older version") } } diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index c149b7f..cf43ee1 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -2,6 +2,7 @@ plugins { id 'java' id 'application' id 'net.thauvin.erik.gradle.semver' version '0.9.9-beta' + id 'com.github.ben-manes.versions' version '0.21.0' } // ./gradlew @@ -15,7 +16,7 @@ defaultTasks 'run' compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated/java") -def semverProcessor = "net.thauvin.erik:semver:1.1.0-beta" +def semverProcessor = "net.thauvin.erik:semver:1.1.1" dependencies { annotationProcessor semverProcessor diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index 70a42be..fe60d1e 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -1,8 +1,9 @@ plugins { - kotlin("jvm").version("1.3.0") + kotlin("jvm").version("1.3.21") application - id("org.jetbrains.kotlin.kapt").version("1.3.0") + id("org.jetbrains.kotlin.kapt").version("1.3.21") id("net.thauvin.erik.gradle.semver").version("0.9.9-beta") + id("com.github.ben-manes.versions").version("0.21.0") } // ./gradlew @@ -12,7 +13,7 @@ plugins { defaultTasks(ApplicationPlugin.TASK_RUN_NAME) -var semverProcessor = "net.thauvin.erik:semver:1.1.0-beta" +var semverProcessor = "net.thauvin.erik:semver:1.1.1" dependencies { kapt(semverProcessor) diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 5a2f1c3..7bc9f49 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -2,6 +2,7 @@ plugins { id 'java' id 'application' id 'net.thauvin.erik.gradle.semver' version '0.9.9-beta' + id 'com.github.ben-manes.versions' version '0.21.0' } // ./gradlew @@ -15,8 +16,8 @@ mainClassName = 'App' defaultTasks 'run' dependencies { - testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.2' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.2' + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.0-M1' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.0-M1' } repositories { diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index c1968b2..b765f7d 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -4,9 +4,10 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { - kotlin("jvm").version("1.3.0") + kotlin("jvm").version("1.3.21") application id("net.thauvin.erik.gradle.semver").version("0.9.9-beta") + id("com.github.ben-manes.versions").version("0.21.0") } // ./gradlew From ada26af81bb34f05929c331cc1e237176ddb457a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 30 Mar 2019 22:46:07 -0700 Subject: [PATCH 067/155] Updated build metadata description. --- .../thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt index 187dccb..6aaa106 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt @@ -44,7 +44,7 @@ open class SemverIncrementBuildMetaTask @Inject constructor( ) : DefaultTask() { init { group = "version" - description = "Increments Build Metadata version number." + description = "Increments Build version metadata." } @Suppress("MemberVisibilityCanBePrivate") From fc926f95932c8fb477839d1abd4c9218f87459fd Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 30 Mar 2019 22:50:25 -0700 Subject: [PATCH 068/155] Fixed example link. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9af2b7e..6c33de1 100644 --- a/README.md +++ b/README.md @@ -214,4 +214,4 @@ test.buildmeta= If you'd like to incorporate the version number data into your source code, please have a look at the [__Semantic Version Annotation Processor__](https://github.com/ethauvin/semver). -There are also full [examples](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor) in both [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor/java) and [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor) showing how to use both the plugin and annotation processor concurrently. +There are also full [examples](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor) in both [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor/java) and [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/annotation-processor/kotlin) showing how to use both the plugin and annotation processor concurrently. From bf1e1494bc0abcca6f0a87d2e5a4b9cc028d85b4 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 31 Mar 2019 10:44:08 -0700 Subject: [PATCH 069/155] Updated copyright. --- .idea/copyright/Erik_s_Copyright_Notice.xml | 2 +- .idea/copyright/profiles_settings.xml | 3 +++ .idea/modules/ap-examples-java.iml | 2 +- .idea/modules/ap-examples-java_main.iml | 6 ++--- .idea/modules/ap-examples-java_test.iml | 6 ++--- .idea/modules/ap-examples-kotlin.iml | 2 +- .idea/modules/ap-examples-kotlin_main.iml | 2 +- .idea/modules/ap-examples-kotlin_test.iml | 2 +- .idea/modules/examples-java.iml | 2 +- .idea/modules/examples-java_main.iml | 2 +- .idea/modules/examples-java_test.iml | 10 ++++----- .idea/modules/examples-kotlin.iml | 2 +- .idea/modules/examples-kotlin_main.iml | 2 +- .idea/modules/examples-kotlin_test.iml | 2 +- .idea/modules/semver.iml | 2 +- .idea/modules/semver_main.iml | 22 +++++++++---------- .idea/modules/semver_test.iml | 17 ++++++++------ .idea/scopes/Copyright.xml | 3 +++ .idea/scopes/Sources.xml | 3 --- LICENSE.TXT | 4 ++-- .../java/com/example/GeneratedVersion.java | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../erik/gradle/semver/SemverConfig.kt | 2 +- .../semver/SemverIncrementBuildMetaTask.kt | 4 ++-- .../erik/gradle/semver/SemverIncrementTask.kt | 2 +- .../erik/gradle/semver/SemverPlugin.kt | 2 +- .../erik/gradle/semver/SortedProperties.kt | 2 +- .../net/thauvin/erik/gradle/semver/Version.kt | 2 +- .../erik/gradle/semver/SemverConfigSpec.kt | 2 +- .../erik/gradle/semver/SemverVersionSpec.kt | 2 +- 31 files changed, 63 insertions(+), 57 deletions(-) create mode 100644 .idea/scopes/Copyright.xml delete mode 100644 .idea/scopes/Sources.xml diff --git a/.idea/copyright/Erik_s_Copyright_Notice.xml b/.idea/copyright/Erik_s_Copyright_Notice.xml index 08660a1..935baa1 100644 --- a/.idea/copyright/Erik_s_Copyright_Notice.xml +++ b/.idea/copyright/Erik_s_Copyright_Notice.xml @@ -1,6 +1,6 @@ - \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml index 3423376..9480ac9 100644 --- a/.idea/copyright/profiles_settings.xml +++ b/.idea/copyright/profiles_settings.xml @@ -1,5 +1,8 @@ + + + \ No newline at end of file diff --git a/examples/annotation-processor/java/.idea/modules/ap-examples-java.iml b/examples/annotation-processor/java/.idea/modules/ap-examples-java.iml index 34884a5..57e5b58 100644 --- a/examples/annotation-processor/java/.idea/modules/ap-examples-java.iml +++ b/examples/annotation-processor/java/.idea/modules/ap-examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/examples/annotation-processor/java/.idea/modules/ap-examples-java_main.iml b/examples/annotation-processor/java/.idea/modules/ap-examples-java.main.iml similarity index 76% rename from examples/annotation-processor/java/.idea/modules/ap-examples-java_main.iml rename to examples/annotation-processor/java/.idea/modules/ap-examples-java.main.iml index c6c3635..c65ff83 100644 --- a/examples/annotation-processor/java/.idea/modules/ap-examples-java_main.iml +++ b/examples/annotation-processor/java/.idea/modules/ap-examples-java.main.iml @@ -1,17 +1,17 @@ - - + + - + - - + + \ No newline at end of file diff --git a/examples/annotation-processor/java/.idea/modules/ap-examples-java_test.iml b/examples/annotation-processor/java/.idea/modules/ap-examples-java.test.iml similarity index 53% rename from examples/annotation-processor/java/.idea/modules/ap-examples-java_test.iml rename to examples/annotation-processor/java/.idea/modules/ap-examples-java.test.iml index 7e2577b..e3e8de5 100644 --- a/examples/annotation-processor/java/.idea/modules/ap-examples-java_test.iml +++ b/examples/annotation-processor/java/.idea/modules/ap-examples-java.test.iml @@ -1,14 +1,14 @@ - - + + - - - + - + + + - + \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/.idea/.name b/examples/annotation-processor/kotlin/.idea/.name deleted file mode 100644 index fcc2f0d..0000000 --- a/examples/annotation-processor/kotlin/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -ap-examples-kotlin \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/.idea/compiler.xml b/examples/annotation-processor/kotlin/.idea/compiler.xml index 447f752..0974d2a 100644 --- a/examples/annotation-processor/kotlin/.idea/compiler.xml +++ b/examples/annotation-processor/kotlin/.idea/compiler.xml @@ -2,8 +2,8 @@ - - + + \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/.idea/misc.xml b/examples/annotation-processor/kotlin/.idea/misc.xml index e707cdd..db06c18 100644 --- a/examples/annotation-processor/kotlin/.idea/misc.xml +++ b/examples/annotation-processor/kotlin/.idea/misc.xml @@ -1,6 +1,9 @@ - + + + + \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/.idea/modules.xml b/examples/annotation-processor/kotlin/.idea/modules.xml index 6b8f603..3b646e0 100644 --- a/examples/annotation-processor/kotlin/.idea/modules.xml +++ b/examples/annotation-processor/kotlin/.idea/modules.xml @@ -3,8 +3,8 @@ - - + + \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.iml b/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.iml index 9386ba3..d89813c 100644 --- a/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.iml +++ b/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin_main.iml b/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.main.iml similarity index 70% rename from examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin_main.iml rename to examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.main.iml index 795e70f..4a6974e 100644 --- a/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin_main.iml +++ b/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.main.iml @@ -1,29 +1,33 @@ - + + - + @@ -33,12 +37,10 @@ - - @@ -48,9 +50,9 @@ - - - + + + \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin_test.iml b/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.test.iml similarity index 64% rename from examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin_test.iml rename to examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.test.iml index 87b72c6..0ab49b9 100644 --- a/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin_test.iml +++ b/examples/annotation-processor/kotlin/.idea/modules/ap-examples-kotlin.test.iml @@ -1,29 +1,40 @@ - + + + - + @@ -35,7 +46,7 @@ - + @@ -45,9 +56,9 @@ - - + + - + \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/.idea/vcs.xml b/examples/annotation-processor/kotlin/.idea/vcs.xml new file mode 100644 index 0000000..c2365ab --- /dev/null +++ b/examples/annotation-processor/kotlin/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/examples/java/.idea/.name b/examples/java/.idea/.name deleted file mode 100644 index 1658a34..0000000 --- a/examples/java/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -examples-java \ No newline at end of file diff --git a/examples/java/.idea/compiler.xml b/examples/java/.idea/compiler.xml index 97906b4..0888ebb 100644 --- a/examples/java/.idea/compiler.xml +++ b/examples/java/.idea/compiler.xml @@ -2,8 +2,8 @@ - - + + \ No newline at end of file diff --git a/examples/java/.idea/misc.xml b/examples/java/.idea/misc.xml index e707cdd..db06c18 100644 --- a/examples/java/.idea/misc.xml +++ b/examples/java/.idea/misc.xml @@ -1,6 +1,9 @@ - + + + + \ No newline at end of file diff --git a/examples/java/.idea/modules.xml b/examples/java/.idea/modules.xml index e27b37a..da0a5ad 100644 --- a/examples/java/.idea/modules.xml +++ b/examples/java/.idea/modules.xml @@ -3,8 +3,8 @@ - - + + \ No newline at end of file diff --git a/examples/java/.idea/modules/examples-java.iml b/examples/java/.idea/modules/examples-java.iml index 985871b..7c9c673 100644 --- a/examples/java/.idea/modules/examples-java.iml +++ b/examples/java/.idea/modules/examples-java.iml @@ -1,5 +1,5 @@ - + diff --git a/examples/java/.idea/modules/examples-java_main.iml b/examples/java/.idea/modules/examples-java.main.iml similarity index 81% rename from examples/java/.idea/modules/examples-java_main.iml rename to examples/java/.idea/modules/examples-java.main.iml index 0b094a1..b3b97ea 100644 --- a/examples/java/.idea/modules/examples-java_main.iml +++ b/examples/java/.idea/modules/examples-java.main.iml @@ -1,6 +1,6 @@ - - + + diff --git a/examples/java/.idea/modules/examples-java_test.iml b/examples/java/.idea/modules/examples-java.test.iml similarity index 69% rename from examples/java/.idea/modules/examples-java_test.iml rename to examples/java/.idea/modules/examples-java.test.iml index 5f1c755..860abdf 100644 --- a/examples/java/.idea/modules/examples-java_test.iml +++ b/examples/java/.idea/modules/examples-java.test.iml @@ -1,6 +1,6 @@ - - + + @@ -8,13 +8,13 @@ - - - + + + - - - + + + - + \ No newline at end of file diff --git a/examples/java/.idea/vcs.xml b/examples/java/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/examples/java/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/examples/java/java.iml b/examples/java/java.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/examples/java/java.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/examples/kotlin/.idea/.name b/examples/kotlin/.idea/.name deleted file mode 100644 index e3bef29..0000000 --- a/examples/kotlin/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -examples-kotlin \ No newline at end of file diff --git a/examples/kotlin/.idea/compiler.xml b/examples/kotlin/.idea/compiler.xml index ed63cad..3628231 100644 --- a/examples/kotlin/.idea/compiler.xml +++ b/examples/kotlin/.idea/compiler.xml @@ -2,8 +2,8 @@ - - + + \ No newline at end of file diff --git a/examples/kotlin/.idea/kotlinc.xml b/examples/kotlin/.idea/kotlinc.xml deleted file mode 100644 index 5806fb3..0000000 --- a/examples/kotlin/.idea/kotlinc.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - \ No newline at end of file diff --git a/examples/kotlin/.idea/misc.xml b/examples/kotlin/.idea/misc.xml index e707cdd..db06c18 100644 --- a/examples/kotlin/.idea/misc.xml +++ b/examples/kotlin/.idea/misc.xml @@ -1,6 +1,9 @@ - + + + + \ No newline at end of file diff --git a/examples/kotlin/.idea/modules.xml b/examples/kotlin/.idea/modules.xml index 26eeb73..825faa5 100644 --- a/examples/kotlin/.idea/modules.xml +++ b/examples/kotlin/.idea/modules.xml @@ -3,8 +3,8 @@ - - + + \ No newline at end of file diff --git a/examples/kotlin/.idea/modules/examples-kotlin.iml b/examples/kotlin/.idea/modules/examples-kotlin.iml index 49778f0..81fc2ee 100644 --- a/examples/kotlin/.idea/modules/examples-kotlin.iml +++ b/examples/kotlin/.idea/modules/examples-kotlin.iml @@ -1,5 +1,5 @@ - + diff --git a/examples/kotlin/.idea/modules/examples-kotlin_main.iml b/examples/kotlin/.idea/modules/examples-kotlin.main.iml similarity index 64% rename from examples/kotlin/.idea/modules/examples-kotlin_main.iml rename to examples/kotlin/.idea/modules/examples-kotlin.main.iml index bb03ac5..9848c98 100644 --- a/examples/kotlin/.idea/modules/examples-kotlin_main.iml +++ b/examples/kotlin/.idea/modules/examples-kotlin.main.iml @@ -1,29 +1,33 @@ - + + - + @@ -31,8 +35,8 @@ - - + + \ No newline at end of file diff --git a/examples/kotlin/.idea/modules/examples-kotlin_test.iml b/examples/kotlin/.idea/modules/examples-kotlin.test.iml similarity index 55% rename from examples/kotlin/.idea/modules/examples-kotlin_test.iml rename to examples/kotlin/.idea/modules/examples-kotlin.test.iml index 699754c..7925939 100644 --- a/examples/kotlin/.idea/modules/examples-kotlin_test.iml +++ b/examples/kotlin/.idea/modules/examples-kotlin.test.iml @@ -1,29 +1,39 @@ - + + + - + @@ -31,13 +41,13 @@ - - + + - + - + \ No newline at end of file diff --git a/examples/kotlin/.idea/vcs.xml b/examples/kotlin/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/examples/kotlin/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From b590486ffd41f6f2d2446e019186a7610983ec85 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 31 Mar 2019 14:15:35 -0700 Subject: [PATCH 071/155] assertEquals instead of assertTrue. --- .../net/thauvin/erik/gradle/semver/SemverConfigSpec.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index 81ba0e0..41c2d9b 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -36,6 +36,7 @@ import org.jetbrains.spek.api.dsl.describe import org.jetbrains.spek.api.dsl.given import org.jetbrains.spek.api.dsl.it import org.jetbrains.spek.api.dsl.on +import kotlin.test.assertEquals import kotlin.test.assertTrue @Suppress("unused") @@ -66,12 +67,12 @@ object SemverConfigSpec : Spek({ on("defaults") { defaults.forEachIndexed { i, d -> it("should be the same: ${vars[i]}, ${config.keysPrefix}$d") { - assertTrue(vars[i] == "${config.keysPrefix}$d") + assertEquals(vars[i], "${config.keysPrefix}$d") } } } on("should be version.properties") { - assertTrue(config.properties == "version.properties") + assertEquals(config.properties, "version.properties") } on("set keys to test.xxx") { config.keysPrefix = "test." From fe6503fffc30a049d057e79ef7032de072ea7740 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 31 Mar 2019 14:16:05 -0700 Subject: [PATCH 072/155] Added name to boolen parameters. --- .../kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index d38fa2b..9a6ae18 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -74,7 +74,7 @@ object SemverVersionSpec : Spek({ } } on("increment all") { - version.increment(true, true, true) + version.increment(isMajor = true, isMinor = true, isPatch = true) it("should return 3.1.1") { assertEquals("3.1.1", version.semver) } From b3d12d36a2cd5f5291893e64e071d62a52a5bfab Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 31 Mar 2019 16:39:33 -0700 Subject: [PATCH 073/155] Added Gradle badge. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6c33de1..1a21738 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![CircleCI](https://circleci.com/gh/ethauvin/semver-gradle/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/semver-gradle/tree/master) +[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![CircleCI](https://circleci.com/gh/ethauvin/semver-gradle/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/semver-gradle/tree/master) [![Gradle](https://img.shields.io/maven-metadata/v/https/plugins.gradle.org/m2/net/thauvin/erik/gradle/semver/maven-metadata.xml.svg?label=gradle&color=blue)](https://plugins.gradle.org/plugin/net.thauvin.erik.gradle.semver) # Semantic Version Plugin for Gradle From 1227746981e73dcdc67a28b0d6b86ec10b848ff9 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 1 Apr 2019 13:23:03 -0700 Subject: [PATCH 074/155] Fixed and added more tests. --- .../erik/gradle/semver/SemverVersionSpec.kt | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index 9a6ae18..6505f19 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -61,13 +61,13 @@ object SemverVersionSpec : Spek({ assertEquals("2.1.1", version.semver) } } - on("increment patch") { + on("increment minor again") { version.increment(isMinor = true) - it("should return 2.1.0") { - assertEquals("2.1.0", version.semver) + it("should return 2.2.0") { + assertEquals("2.2.0", version.semver) } } - on("increment patch") { + on("increment major again") { version.increment(isMajor = true) it("should return 3.0.0") { assertEquals("3.0.0", version.semver) @@ -75,8 +75,20 @@ object SemverVersionSpec : Spek({ } on("increment all") { version.increment(isMajor = true, isMinor = true, isPatch = true) - it("should return 3.1.1") { - assertEquals("3.1.1", version.semver) + it("should return 4.1.1") { + assertEquals("4.1.1", version.semver) + } + } + on("increment major and minor") { + version.increment(isMajor = true, isMinor = true) + it("should return 5.1.0") { + assertEquals("5.1.0", version.semver) + } + } + on("increment minor and patch") { + version.increment(isMinor = true, isPatch = true) + it("should return 5.2.1") { + assertEquals("5.2.1", version.semver) } } on("reset version") { @@ -105,16 +117,16 @@ object SemverVersionSpec : Spek({ assertEquals("1.0.0--beta+007", version.semver) } } - on("change prerelease prefix") { + on("change meta prefix") { version.buildMetaPrefix = "++" - it("should return 1.0.0--beta+=007") { + it("should return 1.0.0--beta++007") { assertEquals("1.0.0--beta++007", version.semver) } } on("change sperator") { version.separator = "-" - it("should return 1-0-0--beta+007") { - assertEquals("1-0-0--beta+007", version.semver) + it("should return 1-0-0--beta++007") { + assertEquals("1-0-0--beta++007", version.semver) } } } From 8ece30494d169088ecbff08514b06fe88d69f0e3 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 1 Apr 2019 13:45:07 -0700 Subject: [PATCH 075/155] Cleanup. --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 1a21738..82d8472 100644 --- a/README.md +++ b/README.md @@ -114,8 +114,8 @@ Property | Description | Default `version.minor` | The minor version. | `0` `version.patch` | The patch version. | `0` `version.prerelease` | The pre-release version | -`version.buildmeta` | The build metatdata version | `version.prerelease.prefix` | The pre-release prefix | `-` +`version.buildmeta` | The build metatdata version | `version.buildmeta.prefix` | The build metadata prefix | `+` `version.separator` | The version separator. | `.` @@ -178,16 +178,16 @@ meta= The following `semver` properties are available: Property | Description | Default -:---------------------|:----------------------------------------|:------------------------ +:---------------------|:----------------------------------------|:--------------------------- `properties` | The properties file. | `version.properties` -`majorKey` | The major property key. | `major` -`minorKey` | The minor property key. | `minor` -`patchKey` | The patch property key. | `patch` -`preReleaseKey` | The pre-release property key. | `preRelease` -`preReleasePrefixKey` | The build pre-release prefix key. | `preReleasePrefix` -`buildMetaKey` | The build metadata property key. | `buildMeta` -`buildMetaPrefixKey` | The build metadata prefix property key. | `buildMetaPrefix` -`separatorKey` | The separator property key. | `separator` +`majorKey` | The major property key. | `version.major` +`minorKey` | The minor property key. | `version.minor` +`patchKey` | The patch property key. | `version.patch` +`preReleaseKey` | The pre-release property key. | `version.prerelease` +`preReleasePrefixKey` | The build pre-release prefix key. | `version.prerelease.prefix` +`buildMetaKey` | The build metadata property key. | `version.buildmeta` +`buildMetaPrefixKey` | The build metadata prefix property key. | `version.buildmeta.prefix` +`separatorKey` | The separator property key. | `version.separator` `keysPrefix` | The prefix for all property keys. | `version.` In order to quickly support multiple projects. The `keysPrefix` property is available to set all properties keys prefixes at once: From db5c3c6f47a719fe4cd5d29b3046f34f08fd2e21 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 1 Apr 2019 23:20:26 -0700 Subject: [PATCH 076/155] Use ./gradlew to test examples. --- examples/examples.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/examples.sh b/examples/examples.sh index 8f6bf8a..106a40a 100755 --- a/examples/examples.sh +++ b/examples/examples.sh @@ -12,6 +12,6 @@ normal=$(tput sgr0) for ex in "java" "kotlin" "annotation-processor/java" "annotation-processor/kotlin"; do cd "$dir/$ex" || exit 1 echo "> Project: ${color}${ex}${normal}" - gradle clean "$@" --console=plain --no-build-cache || exit 1 + ./gradlew clean "$@" --console=plain --no-build-cache || exit 1 echo -done \ No newline at end of file +done From c1f6360ec9cf07f52a36d9c05a1580995c8b56ac Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 1 Apr 2019 23:21:49 -0700 Subject: [PATCH 077/155] Ignore .history --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 65deb36..3546451 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ .classpath .DS_Store .gradle +.history .kobalt .nb-gradle .project @@ -42,4 +43,4 @@ /test-output ehthumbs.db kobaltBuild -Thumbs.db \ No newline at end of file +Thumbs.db From 04de55bac9c58f4be69abb44ede9635f5f61d37b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 3 Apr 2019 23:32:27 -0700 Subject: [PATCH 078/155] Added sonarcloud intergration. --- build.gradle.kts | 54 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 9 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index a80c0e5..2a4724a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,16 +1,25 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +import org.junit.platform.gradle.plugin.JUnitPlatformExtension -plugins { - `kotlin-dsl` - `java-gradle-plugin` - `maven-publish` - id("com.gradle.plugin-publish").version("0.10.1") - id("com.github.ben-manes.versions").version("0.21.0") - id("org.jlleitschuh.gradle.ktlint").version("7.2.1") - id("io.gitlab.arturbosch.detekt").version("1.0.0-RC14") +buildscript { + dependencies { + classpath("org.junit.platform:junit-platform-gradle-plugin:1.0.0") + } } -version = "0.9.9-beta" +plugins { + `java-gradle-plugin` + `kotlin-dsl` + `maven-publish` + jacoco + id("com.github.ben-manes.versions").version("0.21.0") + id("com.gradle.plugin-publish").version("0.10.1") + id("io.gitlab.arturbosch.detekt").version("1.0.0-RC14") + id("org.jlleitschuh.gradle.ktlint").version("7.2.1") + id("org.sonarqube") version "2.7" +} + +version = "1.0.0" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" @@ -22,6 +31,10 @@ repositories { jcenter() } +apply { + plugin("org.junit.platform.gradle.plugin") +} + dependencies { implementation(gradleApi()) @@ -43,6 +56,10 @@ dependencies { } } +configure { + enableStandardTestTask = true +} + tasks { withType { kotlinOptions.jvmTarget = "1.8" @@ -56,9 +73,20 @@ tasks { } } + withType { + reports { + html.isEnabled = true + xml.isEnabled = true + } + } + "check" { dependsOn("ktlintCheck") } + + "sonarqube" { + dependsOn("jacocoTestReport") + } } detekt { @@ -67,6 +95,14 @@ detekt { baseline = project.rootDir.resolve("detekt-baseline.xml") } +sonarqube { + properties { + property("sonar.projectName", "semver-gradle") + property("sonar.projectKey", "ethauvin_semver-gradle") + property("sonar.sourceEncoding", "UTF-8") + } +} + gradlePlugin { plugins { create(project.name) { From d9da5d5bd0c472d80b68914e3e313f3252df6b73 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 4 Apr 2019 10:03:12 -0700 Subject: [PATCH 079/155] Added more test. --- .../erik/gradle/semver/SemverVersionSpec.kt | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index 6505f19..639e526 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -43,6 +43,35 @@ object SemverVersionSpec : Spek({ describe("version test") { given("a version") { val version = Version() + on("valdiate default version") { + it("major should be 1") { + assertEquals("1", version.major) + } + it("minor should be 1") { + assertEquals("0", version.minor) + } + it("patch should be 0") { + assertEquals("0", version.patch) + } + it("prerelease should be empty") { + assertEquals("", version.preRelease) + } + it("meta should be empty") { + assertEquals("", version.buildMeta) + } + it("preRelease prefix should be -") { + assertEquals("-", version.preReleasePrefix) + } + it("meta prefix should be +") { + assertEquals("+", version.buildMetaPrefix) + } + it("separator should be .") { + assertEquals(".", version.separator) + } + it("version should be 1.0.0") { + assertEquals("1.0.0", version.semver) + } + } on("increment major") { version.increment(isMajor = true) it("should return 2.0.0") { @@ -91,6 +120,12 @@ object SemverVersionSpec : Spek({ assertEquals("5.2.1", version.semver) } } + on("increment nothing") { + version.increment() + it("should still return 5.2.1") { + assertEquals("5.2.1", version.semver) + } + } on("reset version") { version.major = "1" version.minor = "0" @@ -123,7 +158,7 @@ object SemverVersionSpec : Spek({ assertEquals("1.0.0--beta++007", version.semver) } } - on("change sperator") { + on("change separator") { version.separator = "-" it("should return 1-0-0--beta++007") { assertEquals("1-0-0--beta++007", version.semver) From 573b064a683d0957109b2e03c74d13bf7e567a2b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 4 Apr 2019 10:03:46 -0700 Subject: [PATCH 080/155] Added travis configuration. --- .travis.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..f463f8e --- /dev/null +++ b/.travis.yml @@ -0,0 +1,29 @@ +language: java + +jdk: + - oraclejdk8 + +addons: + sonarcloud: + organization: "ethauvin-github" + +before_cache: + - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock + - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ + +before_install: + - chmod +x gradlew + +script: + - ./gradlew check + +cache: + directories: + - $HOME/.gradle/caches/ + - $HOME/.gradle/wrapper/ + +after_success: + - | + if [ "${TRAVIS_TEST_RESULT}" == 0 ]; then + ./gradlew sonarqube + fi From 76ffc77ada8dddbb08ce5068ac634fdcd81e661b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 4 Apr 2019 10:14:35 -0700 Subject: [PATCH 081/155] Added Travis CI and sonarcloud badges. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 82d8472..5de4ef0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![CircleCI](https://circleci.com/gh/ethauvin/semver-gradle/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/semver-gradle/tree/master) [![Gradle](https://img.shields.io/maven-metadata/v/https/plugins.gradle.org/m2/net/thauvin/erik/gradle/semver/maven-metadata.xml.svg?label=gradle&color=blue)](https://plugins.gradle.org/plugin/net.thauvin.erik.gradle.semver) +[![License (3-Clause BSD)](https://img.shields.io/badge/license-BSD%203--Clause-blue.svg?style=flat-square)](http://opensource.org/licenses/BSD-3-Clause) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=ethauvin_semver-gradle&metric=alert_status)](https://sonarcloud.io/dashboard?id=ethauvin_semver-gradle) [![Build Status](https://travis-ci.org/ethauvin/semver-gradle.svg?branch=master)](https://travis-ci.org/ethauvin/semver-gradle) [![CircleCI](https://circleci.com/gh/ethauvin/semver-gradle/tree/master.svg?style=shield)](https://circleci.com/gh/ethauvin/semver-gradle/tree/master) [![Gradle](https://img.shields.io/maven-metadata/v/https/plugins.gradle.org/m2/net/thauvin/erik/gradle/semver/maven-metadata.xml.svg?label=gradle&color=blue)](https://plugins.gradle.org/plugin/net.thauvin.erik.gradle.semver) # Semantic Version Plugin for Gradle From e2f55f33e2667ab4d2be7d0a62605a4c2d1a4e2a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 5 Apr 2019 00:00:24 -0700 Subject: [PATCH 082/155] Added update wrappers and preflight check shell scripts. --- examples/examples.sh | 25 +++++-- preflightcheck.sh | 157 +++++++++++++++++++++++++++++++++++++++++++ updatewrappers.sh | 52 ++++++++++++++ 3 files changed, 228 insertions(+), 6 deletions(-) create mode 100644 preflightcheck.sh create mode 100644 updatewrappers.sh diff --git a/examples/examples.sh b/examples/examples.sh index 106a40a..6867a06 100755 --- a/examples/examples.sh +++ b/examples/examples.sh @@ -1,17 +1,30 @@ #!/bin/bash if [ $# -eq 0 ]; then - echo "Usage: $0 [...]" + echo "Usage: $0 " exit 1 fi +# set the examples directories +declare -a examples=( + "java" + "kotlin" + "annotation-processor/java" + "annotation-processor/kotlin") + dir=$(dirname "$(readlink -f "$0")") -color=$(tput setaf 6) +cyan=$(tput setaf 6) normal=$(tput sgr0) -for ex in "java" "kotlin" "annotation-processor/java" "annotation-processor/kotlin"; do +i=0 +for ex in "${examples[@]}"; do + if [ $i -ne 0 ] + then + read -p "Press [Enter] key to continue..." + clear + fi cd "$dir/$ex" || exit 1 - echo "> Project: ${color}${ex}${normal}" - ./gradlew clean "$@" --console=plain --no-build-cache || exit 1 - echo + echo "> Project: ${cyan}${ex}${normal}" + ./gradlew --console=plain --no-build-cache clean "$@" || exit 1 + (( i++ )) done diff --git a/preflightcheck.sh b/preflightcheck.sh new file mode 100644 index 0000000..7187b20 --- /dev/null +++ b/preflightcheck.sh @@ -0,0 +1,157 @@ +#!/bin/bash + +# set source and test locations +src="src/main/kotlin/net/thauvin/erik/gradle/semver/" +test="src/main/kotlin/net/thauvin/erik/gradle/semver/" +# e.g: .java, .kt, etc. +ext=".kt" +java8=true +# e.g: +declare -a examples=( + "examples/java incrementBuildMeta run" + "examples/kotlin incrementBuildMeta run" + "examples/annotation-processor/java incrementMinor run" + "examples/annotation-processor/kotlin incrementMinor run") +# e.g: empty or javadoc, etc. +doc="" +# e.g. empty or sonarqube +sonar="sonarqube" + +# gradle default command line args +opts="--console=plain --no-build-cache --no-daemon" + +### + +if [ "$java8" = true ] +then + export JAVA_HOME="$JAVA8_HOME" + export PATH="$(cygpath "$JAVA_HOME")/bin:$PATH" +fi + +pwd=$PWD +red=$(tput setaf 1) +cyan=$(tput setaf 6) +std=$(tput sgr0) +date=$(date +%Y) + +pause() { + read -p "Press [Enter] key to continue..." + clear +} + +checkCopyright() { + if [ "$(grep -c "$date" "$1")" -eq 0 ] + then + echo -e " Invalid: ${red}$f${std}" + else + echo -e " Checked: $1" + fi +} + +runGradle() { + cd "$1" || exit 1 + echo -e "> Project: ${cyan}${1}${std} [Gradle]" + shift + ./gradlew $opts clean $@ || exit 1 + cd "$pwd" +} + +runKobalt() { + cd "$1" || exit 1 + if [ -f kobalt/src/Build.kt ] + then + read -p "Run Kobalt Example? [y/n]: " choice + case $choice in + [Yy] ) + clear + echo -e "> Project: ${cyan}$1${std} [Kobalt]" + shift + ./kobaltw clean $@ ;; + * ) ;; + esac + fi + cd "$pwd" +} + +updateWrappers() { + clear + ./updatewrappers.sh + pause +} + +checkDeps() { + clear + echo -e "${cyan}Checking depencencies...${std}" + gradle --console=plain dU || exit 1 + pause +} + +gradleCheck() { + clear + echo -e "${cyan}Checking Gradle build....${std}" + gradle $opts clean check $doc $sonar || exit 1 + pause +} + +examples() { + clear + echo -e "Running examples..." + for ex in "${examples[@]}" + do + runGradle $ex + runKobalt $ex + read -p "Continue? [y/n]: " choice + clear + case $choice in + [Yy] ) continue ;; + * ) return ;; + esac + done +} + +validateCopyrights() { + clear + echo -e "${cyan}Validating copyrights...${std}" + for f in LICENSE.TXT ${src}/*${ext} ${test}/*${ext} + do + checkCopyright "$f" + done + pause +} + +everything() { + updateWrappers + checkDeps + gradleCheck + examples + validateCopyrights +} + +showMenu() { + echo " 1. Update Wrappers" + echo " 2. Check Dependencies" + echo " 3. Check Gradle Build" + echo " 4. Run Examples" + echo " 5. Validate Copyrights" + echo " 6. Check Everything" +} + +readOptions(){ + local choice + read -p "Enter choice [1-6]: " choice + case $choice in + 1) updateWrappers ;; + 2) checkDeps ;; + 3) gradleCheck ;; + 4) examples ;; + 5) validateCopyrights ;; + 6) everything ;; + *) exit 0 ;; + esac +} + +while true +do + showMenu + readOptions +done diff --git a/updatewrappers.sh b/updatewrappers.sh new file mode 100644 index 0000000..894497a --- /dev/null +++ b/updatewrappers.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +export JAVA_HOME="$JAVA8_HOME" +export PATH="$(cygpath "$JAVA_HOME")/bin:$PATH" + +# set the examples directories +declare -a dirs=( + "${PWD##*/}" + "examples/java" + "examples/kotlin" + "annotation-processor/java" + "annotation-processor/kotlin") + +pwd=$PWD +cyan=$(tput setaf 6) +green=$(tput setaf 2) +red=$(tput setaf 1) +std=$(tput sgr0) + +kVer=$(kobaltw --version | awk '{print substr($2, 1, length($2)-1)}') +updateWrappers() { + curVer="$(gradle --version | awk '/Gradle/ {print $2}')" + if [ -d gradle ]; then + if [ "$curVer" != "$(./gradlew --version | awk '/Gradle/ {print $2}')" ]; then + gradle -q --console=plain wrapper + echo -e " $(./gradlew --version | awk '/Gradle/') ${green}UPDATED${std}" + else + echo -e " Gradle $curVer UP-TO-DATE" + fi + fi + if [ -d kobalt ]; then + kw=$(cut -d "=" -f 2 kobalt/wrapper/kobalt-wrapper.properties) + if [ "$kw" = "$kVer" ] + then + echo -e " Kobalt $kw UP-TO-DATE" + else + echo "kobalt.version=$kVer" > kobalt/wrapper/kobalt-wrapper.properties + echo -e " Kobalt $kVer ${green}UPDATED${std}" + fi + fi +} + +echo -e "Updating wrappers..." + +for d in "${dirs[@]}"; do + if [ -d "$d" ]; then + cd "$d" || exit 1 + fi + echo -e " ${cyan}${d}${std}" + updateWrappers + cd "$pwd" +done From 87ddaec8b89b05d3985d48da25e99fef151244be Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 5 Apr 2019 23:12:33 -0700 Subject: [PATCH 083/155] Updated examples. --- .../annotation-processor/java/build.gradle | 9 ++++ .../java/com/example/GeneratedVersion.java | 46 ++++++------------- .../src/main/java/com/example/Example.java | 21 ++++++++- .../java/version.properties | 7 +-- .../kotlin/build.gradle.kts | 11 +++++ .../src/main/kotlin/com/example/Main.kt | 12 +++++ .../kotlin/version.properties | 7 +-- examples/java/version.properties | 4 +- examples/kotlin/version.properties | 4 +- version.properties | 7 +++ 10 files changed, 84 insertions(+), 44 deletions(-) create mode 100644 version.properties diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index cf43ee1..fe32be4 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -28,6 +28,15 @@ repositories { jcenter() } +run { + doFirst { + println "Version: $version" + } + +// args = ['example.properties'] + args = ['version.properties'] +} + semver { // properties = "example.properties" // keysPrefix = "example." diff --git a/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java index 5edfa5e..0a8bf0a 100644 --- a/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java @@ -12,45 +12,27 @@ import java.util.Date; * @author Semantic Version Annotation Processor */ public final class GeneratedVersion { - public final static String PRERELEASE_PREFIX = "-"; - public final static String BUILDMETA_PREFIX = "+"; - - public final static String PROJECT = ""; - public final static Date BUILDDATE = new Date(1554010641988L); + public final static String PROJECT = "Java Annotation Example"; + public final static Date BUILDDATE = new Date(1554530172611L); public final static int MAJOR = 2; - public final static int MINOR = 1; - public final static int PATCH = 2; + public final static int MINOR = 4; + public final static int PATCH = 0; public final static String PRERELEASE = ""; + public final static String PRERELEASE_PREFIX = "-"; public final static String BUILDMETA = ""; + public final static String BUILDMETA_PREFIX = "+"; + public final static String SEPARATOR = "."; /** - * The full version string. - *

- * Formatted as: - *

- * MAJOR.MINOR.PATCH[-PRERELEASE][+BUILDMETADATA] - *
- *

- * For example: - *

    - *
  • 1.0.0
  • - *
  • 1.0.0-beta
  • - *
  • 1.0.0+20160124144700
  • - *
  • 1.0.0-alpha+001
  • - *
+ * The full semantic version string. */ - public final static String VERSION = Integer.toString(MAJOR) + '.' - + Integer.toString(MINOR) + '.' - + Integer.toString(PATCH) - + preReleaseWithPrefix() + buildMetaWithPrefix(); + public final static String VERSION = Integer.toString(MAJOR) + SEPARATOR + Integer.toString(MINOR) + SEPARATOR + + Integer.toString(PATCH) + preReleaseWithPrefix() + buildMetaWithPrefix(); /** * Disables the default constructor. - * - * @throws UnsupportedOperationException If the constructor is called. */ - private GeneratedVersion() - throws UnsupportedOperationException { + private GeneratedVersion() { throw new UnsupportedOperationException("Illegal constructor call."); } @@ -70,7 +52,7 @@ public final class GeneratedVersion { * @return The build metadata, if any. */ public static String buildMetaWithPrefix(final String prefix) { - if (BUILDMETA.length() > 0 && prefix.length() > 0) { + if (BUILDMETA.length() > 0) { return prefix + BUILDMETA; } else { return BUILDMETA; @@ -93,10 +75,10 @@ public final class GeneratedVersion { * @return The pre-release version, if any. */ public static String preReleaseWithPrefix(final String prefix) { - if (PRERELEASE.length() > 0 && prefix.length() > 0) { + if (PRERELEASE.length() > 0) { return prefix + PRERELEASE; } else { return PRERELEASE; } } -} \ No newline at end of file +} diff --git a/examples/annotation-processor/java/src/main/java/com/example/Example.java b/examples/annotation-processor/java/src/main/java/com/example/Example.java index 6992ac9..723f398 100644 --- a/examples/annotation-processor/java/src/main/java/com/example/Example.java +++ b/examples/annotation-processor/java/src/main/java/com/example/Example.java @@ -2,6 +2,12 @@ package com.example; import net.thauvin.erik.semver.Version; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; + import java.text.SimpleDateFormat; @Version(properties = "version.properties") @@ -11,12 +17,12 @@ import java.text.SimpleDateFormat; // preReleaseKey = "release", // buildMetaKey = "meta") public class Example { - public static void main(final String... args) { + public static void main(String... args) throws IOException { final SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy 'at' HH:mm:ss z"); System.out.println("-----------------------------------------------------"); - System.out.println(" Version:" + GeneratedVersion.PROJECT + ' ' + GeneratedVersion.VERSION); + System.out.println(" Version: " + GeneratedVersion.PROJECT + ' ' + GeneratedVersion.VERSION); System.out.println(" Built on: " + sdf.format(GeneratedVersion.BUILDDATE)); System.out.println(" Major: " + GeneratedVersion.MAJOR); @@ -26,5 +32,16 @@ public class Example { System.out.println(" BuildMetaData: " + GeneratedVersion.BUILDMETA); System.out.println("-----------------------------------------------------"); + + if (args.length == 1) { + final Path path = Paths.get(args[0]); + if (Files.exists(path)) { + final List content = Files.readAllLines(path); + System.out.println("> cat " + path.getFileName()); + for (final String line : content) { + System.out.println(line); + } + } + } } } diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index 8626f6d..2712834 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,7 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Thu Dec 20 12:09:42 PST 2018 +#Fri Apr 05 22:56:10 PDT 2019 version.buildmeta= version.major=2 -version.minor=1 -version.patch=2 +version.minor=4 +version.patch=0 version.prerelease= +version.project=Java Example diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index fe60d1e..f461a68 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -31,6 +31,17 @@ application { mainClassName = "com.example.Main" } +tasks { + "run"(JavaExec::class) { + doFirst { + println("Verion: $version") + } + +// args = listOf("example.properties") + args = listOf("version.properties") + } +} + semver { // properties = "example.properties" // keysPrefix = "example." diff --git a/examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt b/examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt index e3d1cfb..cc503f1 100644 --- a/examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt +++ b/examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt @@ -1,6 +1,7 @@ package com.example import net.thauvin.erik.semver.Version +import java.io.File import java.text.SimpleDateFormat @Version(properties = "version.properties", type = "kt") @@ -28,6 +29,17 @@ class Main { println(" BuildMetaData: ${GeneratedVersion.BUILDMETA}") println("-----------------------------------------------------") + + if (args.size == 1) { + File(args[0]).apply { + if (exists()) { + println("> cat $name") + forEachLine { + println(it) + } + } + } + } } } } diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index e83411b..87dbec4 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,7 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Thu Nov 29 20:35:47 PST 2018 +#Fri Apr 05 22:56:48 PDT 2019 version.buildmeta= version.major=11 -version.minor=2 -version.patch=4 +version.minor=7 +version.patch=0 version.prerelease= +version.project=Kotlin Example diff --git a/examples/java/version.properties b/examples/java/version.properties index 00dcbb0..7793f40 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,6 +1,6 @@ #Generated by the Semver Plugin for Gradle -#Thu Nov 29 20:33:16 PST 2018 -version.buildmeta=20180713152249 +#Fri Apr 05 22:54:31 PDT 2019 +version.buildmeta=20190405225431 version.major=1 version.minor=1 version.patch=8 diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 72fca8e..b305433 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,6 +1,6 @@ #Generated by the Semver Plugin for Gradle -#Thu Dec 20 12:18:04 PST 2018 -version.buildmeta=20181101185038 +#Fri Apr 05 22:55:25 PDT 2019 +version.buildmeta=20190405225525 version.major=1 version.minor=2 version.patch=4 diff --git a/version.properties b/version.properties new file mode 100644 index 0000000..cacc7cd --- /dev/null +++ b/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Fri Apr 05 22:53:26 PDT 2019 +version.buildmeta= +version.major=1 +version.minor=0 +version.patch=0 +version.prerelease= From 7152d9f899addd22836d5e83e65d31fdcab7be88 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 5 Apr 2019 23:49:04 -0700 Subject: [PATCH 084/155] Added versions. --- preflightcheck.sh | 4 ++++ updatewrappers.sh | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/preflightcheck.sh b/preflightcheck.sh index 7187b20..914eb65 100644 --- a/preflightcheck.sh +++ b/preflightcheck.sh @@ -1,5 +1,9 @@ #!/bin/bash +# +# Version: 1.0 +# + # set source and test locations src="src/main/kotlin/net/thauvin/erik/gradle/semver/" test="src/main/kotlin/net/thauvin/erik/gradle/semver/" diff --git a/updatewrappers.sh b/updatewrappers.sh index 894497a..f26aed3 100644 --- a/updatewrappers.sh +++ b/updatewrappers.sh @@ -1,7 +1,9 @@ #!/bin/bash -export JAVA_HOME="$JAVA8_HOME" -export PATH="$(cygpath "$JAVA_HOME")/bin:$PATH" + +# +# Version: 1.0 +# # set the examples directories declare -a dirs=( @@ -10,6 +12,9 @@ declare -a dirs=( "examples/kotlin" "annotation-processor/java" "annotation-processor/kotlin") +java8=true + +### pwd=$PWD cyan=$(tput setaf 6) @@ -17,6 +22,12 @@ green=$(tput setaf 2) red=$(tput setaf 1) std=$(tput sgr0) +if [ "$java8" = true ] +then + export JAVA_HOME="$JAVA8_HOME" + export PATH="$(cygpath "$JAVA_HOME")/bin:$PATH" +fi + kVer=$(kobaltw --version | awk '{print substr($2, 1, length($2)-1)}') updateWrappers() { curVer="$(gradle --version | awk '/Gradle/ {print $2}')" From 23b3a4f204cbaf496094af570418d2c63d73d169 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 6 Apr 2019 03:36:18 -0700 Subject: [PATCH 085/155] Version 1.0.1 --- updatewrappers.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/updatewrappers.sh b/updatewrappers.sh index f26aed3..dc639bd 100644 --- a/updatewrappers.sh +++ b/updatewrappers.sh @@ -2,7 +2,7 @@ # -# Version: 1.0 +# Version: 1.0.1 # # set the examples directories @@ -45,7 +45,7 @@ updateWrappers() { then echo -e " Kobalt $kw UP-TO-DATE" else - echo "kobalt.version=$kVer" > kobalt/wrapper/kobalt-wrapper.properties + echo -e "kobalt.version=$kVer" > kobalt/wrapper/kobalt-wrapper.properties echo -e " Kobalt $kVer ${green}UPDATED${std}" fi fi From f18ac5976f4739796e1c899f404c953f0f8ab3f7 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 6 Apr 2019 03:36:49 -0700 Subject: [PATCH 086/155] Moved to spek2. --- .../erik/gradle/semver/SemverConfigSpec.kt | 74 ++++--- .../erik/gradle/semver/SemverPluginSpec.kt | 47 +++++ .../erik/gradle/semver/SemverVersionSpec.kt | 187 +++++++++--------- 3 files changed, 174 insertions(+), 134 deletions(-) create mode 100644 src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index 41c2d9b..8a0fff8 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -31,50 +31,50 @@ */ package net.thauvin.erik.gradle.semver -import org.jetbrains.spek.api.Spek -import org.jetbrains.spek.api.dsl.describe -import org.jetbrains.spek.api.dsl.given -import org.jetbrains.spek.api.dsl.it -import org.jetbrains.spek.api.dsl.on +import org.spekframework.spek2.Spek +import org.spekframework.spek2.style.specification.describe import kotlin.test.assertEquals import kotlin.test.assertTrue @Suppress("unused") object SemverConfigSpec : Spek({ - describe("config test") { - given("a config") { - val config = SemverConfig() - val vars = listOf( - config.majorKey, - config.minorKey, - config.patchKey, - config.preReleaseKey, - config.preReleasePrefixKey, - config.buildMetaKey, - config.buildMetaPrefixKey, - config.separatorKey - ) - val defaults = listOf( - SemverConfig.DEFAULT_MAJOR_KEY, - SemverConfig.DEFAULT_MINOR_KEY, - SemverConfig.DEFAULT_PATCH_KEY, - SemverConfig.DEFAULT_PRERELEASE_KEY, - SemverConfig.DEFAULT_PRERELEASE_PREFIX_KEY, - SemverConfig.DEFAULT_BUILDMETA_KEY, - SemverConfig.DEFAULT_BUILDMETA_PREFIX_KEY, - SemverConfig.DEFAULT_SEPARATOR - ) - on("defaults") { - defaults.forEachIndexed { i, d -> - it("should be the same: ${vars[i]}, ${config.keysPrefix}$d") { - assertEquals(vars[i], "${config.keysPrefix}$d") - } + describe("a config") { + val config by memoized { SemverConfig() } + val vars = listOf( + config.majorKey, + config.minorKey, + config.patchKey, + config.preReleaseKey, + config.preReleasePrefixKey, + config.buildMetaKey, + config.buildMetaPrefixKey, + config.separatorKey + ) + val defaults = listOf( + SemverConfig.DEFAULT_MAJOR_KEY, + SemverConfig.DEFAULT_MINOR_KEY, + SemverConfig.DEFAULT_PATCH_KEY, + SemverConfig.DEFAULT_PRERELEASE_KEY, + SemverConfig.DEFAULT_PRERELEASE_PREFIX_KEY, + SemverConfig.DEFAULT_BUILDMETA_KEY, + SemverConfig.DEFAULT_BUILDMETA_PREFIX_KEY, + SemverConfig.DEFAULT_SEPARATOR + ) + + describe("check defaults") { + defaults.forEachIndexed { i, d -> + it("should be the same: ${vars[i]}, ${config.keysPrefix}$d") { + assertEquals(vars[i], "${config.keysPrefix}$d") } } - on("should be version.properties") { + } + describe("check version.properties") { + it("should be version.properties") { assertEquals(config.properties, "version.properties") } - on("set keys to test.xxx") { + } + describe("set keys to test.xxx") { + it("should all start with test.xxx") { config.keysPrefix = "test." val keys = listOf( config.majorKey, @@ -87,9 +87,7 @@ object SemverConfigSpec : Spek({ config.separatorKey) keys.forEach { k -> - it("should all start with test.xxx: $k") { - assertTrue(k.startsWith("test.")) - } + assertTrue(k.startsWith("test."), "Should be test.$k") } } } diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt new file mode 100644 index 0000000..ddd1621 --- /dev/null +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt @@ -0,0 +1,47 @@ +package net.thauvin.erik.gradle.semver + +import org.spekframework.spek2.Spek +import org.spekframework.spek2.style.specification.describe +import java.io.File +import java.nio.file.Files +import java.util.Properties +import kotlin.test.assertEquals +import kotlin.test.assertNull +import kotlin.test.assertTrue + +@Suppress("unused") +object SemverPluginSpec : Spek({ + describe("a config and version") { + val version by memoized { Version() } + val config by memoized { SemverConfig() } + val configFile = File("test.properties") + + config.properties = configFile.name + + describe("test save properties") { + it("should save properties") { + SemverPlugin.saveProperties(config, version) + assertTrue(configFile.exists()) + } + } + describe("validate the properties file") { + it("verion should be the same") { + val props = Properties().apply { + Files.newInputStream(configFile.toPath()).use { nis -> + load(nis) + configFile.delete() + } + } + + assertEquals(props.getProperty(config.majorKey), version.major, "Major") + assertEquals(props.getProperty(config.minorKey), version.minor, "Minor") + assertEquals(props.getProperty(config.patchKey), version.patch, "Patch") + assertEquals(props.getProperty(config.preReleaseKey), version.preRelease, "PreRelease.") + assertNull(props.getProperty(config.preReleasePrefixKey), "PreRelease Prefix") + assertEquals(props.getProperty(config.buildMetaKey), version.buildMeta, "Build Meta") + assertNull(props.getProperty(config.buildMetaPrefixKey), "Build Meta Prefix") + assertNull(props.getProperty(config.separatorKey), "Separator") + } + } + } +}) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index 639e526..1901673 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -31,138 +31,133 @@ */ package net.thauvin.erik.gradle.semver -import org.jetbrains.spek.api.Spek -import org.jetbrains.spek.api.dsl.describe -import org.jetbrains.spek.api.dsl.given -import org.jetbrains.spek.api.dsl.it -import org.jetbrains.spek.api.dsl.on +import org.spekframework.spek2.Spek +import org.spekframework.spek2.style.specification.describe import kotlin.test.assertEquals @Suppress("unused") object SemverVersionSpec : Spek({ - describe("version test") { - given("a version") { - val version = Version() - on("valdiate default version") { - it("major should be 1") { - assertEquals("1", version.major) - } - it("minor should be 1") { - assertEquals("0", version.minor) - } - it("patch should be 0") { - assertEquals("0", version.patch) - } - it("prerelease should be empty") { - assertEquals("", version.preRelease) - } - it("meta should be empty") { - assertEquals("", version.buildMeta) - } - it("preRelease prefix should be -") { - assertEquals("-", version.preReleasePrefix) - } - it("meta prefix should be +") { - assertEquals("+", version.buildMetaPrefix) - } - it("separator should be .") { - assertEquals(".", version.separator) - } - it("version should be 1.0.0") { - assertEquals("1.0.0", version.semver) - } + describe("a version") { + val version = Version() + describe("valdiate default version") { + it("major should be 1") { + assertEquals("1", version.major) } - on("increment major") { + it("minor should be 1") { + assertEquals("0", version.minor) + } + it("patch should be 0") { + assertEquals("0", version.patch) + } + it("prerelease should be empty") { + assertEquals("", version.preRelease) + } + it("meta should be empty") { + assertEquals("", version.buildMeta) + } + it("preRelease prefix should be -") { + assertEquals("-", version.preReleasePrefix) + } + it("meta prefix should be +") { + assertEquals("+", version.buildMetaPrefix) + } + it("separator should be .") { + assertEquals(".", version.separator) + } + it("version should be 1.0.0") { + assertEquals("1.0.0", version.semver) + } + } + describe("increment major") { + it("should return 2.0.0") { version.increment(isMajor = true) - it("should return 2.0.0") { - assertEquals("2.0.0", version.semver) - } + assertEquals("2.0.0", version.semver) } - on("increment minor") { + } + describe("increment minor") { + it("should return 2.1.0") { version.increment(isMinor = true) - it("should return 2.1.0") { - assertEquals("2.1.0", version.semver) - } + assertEquals("2.1.0", version.semver) } - on("increment patch") { + } + describe("increment patch") { + it("should return 2.1.1") { version.increment(isPatch = true) - it("should return 2.1.1") { - assertEquals("2.1.1", version.semver) - } + assertEquals("2.1.1", version.semver) } - on("increment minor again") { + } + describe("increment minor again") { + it("should return 2.2.0") { version.increment(isMinor = true) - it("should return 2.2.0") { - assertEquals("2.2.0", version.semver) - } + assertEquals("2.2.0", version.semver) } - on("increment major again") { + } + describe("increment major again") { + it("should return 3.0.0") { version.increment(isMajor = true) - it("should return 3.0.0") { - assertEquals("3.0.0", version.semver) - } + assertEquals("3.0.0", version.semver) } - on("increment all") { + } + describe("increment all") { + it("should return 4.1.1") { version.increment(isMajor = true, isMinor = true, isPatch = true) - it("should return 4.1.1") { - assertEquals("4.1.1", version.semver) - } + assertEquals("4.1.1", version.semver) } - on("increment major and minor") { + } + describe("increment major and minor") { + it("should return 5.1.0") { version.increment(isMajor = true, isMinor = true) - it("should return 5.1.0") { - assertEquals("5.1.0", version.semver) - } + assertEquals("5.1.0", version.semver) } - on("increment minor and patch") { + } + describe("increment minor and patch") { + it("should return 5.2.1") { version.increment(isMinor = true, isPatch = true) - it("should return 5.2.1") { - assertEquals("5.2.1", version.semver) - } + assertEquals("5.2.1", version.semver) } - on("increment nothing") { + } + describe("increment nothing") { + it("should still return 5.2.1") { version.increment() - it("should still return 5.2.1") { - assertEquals("5.2.1", version.semver) - } + assertEquals("5.2.1", version.semver) } - on("reset version") { + } + describe("reset version") { + it("should return 1.0.0") { version.major = "1" version.minor = "0" version.patch = "0" - it("should return 1.0.0") { - assertEquals("1.0.0", version.semver) - } + assertEquals("1.0.0", version.semver) } - on("add prerelease") { + } + describe("add prerelease") { + it("should return 1.0.0-beta") { version.preRelease = "beta" - it("should return 1.0.0-beta") { - assertEquals("1.0.0-beta", version.semver) - } + assertEquals("1.0.0-beta", version.semver) } - on("add metadata") { + } + describe("add metadata") { + it("should return 1.0.0-beta+007") { version.buildMeta = "007" - it("should return 1.0.0-beta+007") { - assertEquals("1.0.0-beta+007", version.semver) - } + assertEquals("1.0.0-beta+007", version.semver) } - on("change prerelease prefix") { + } + describe("change prerelease prefix") { + it("should return 1.0.0--beta+007") { version.preReleasePrefix = "--" - it("should return 1.0.0--beta+007") { - assertEquals("1.0.0--beta+007", version.semver) - } + assertEquals("1.0.0--beta+007", version.semver) } - on("change meta prefix") { + } + describe("change meta prefix") { + it("should return 1.0.0--beta++007") { version.buildMetaPrefix = "++" - it("should return 1.0.0--beta++007") { - assertEquals("1.0.0--beta++007", version.semver) - } + assertEquals("1.0.0--beta++007", version.semver) } - on("change separator") { + } + describe("change separator") { + it("should return 1-0-0--beta++007") { version.separator = "-" - it("should return 1-0-0--beta++007") { - assertEquals("1-0-0--beta++007", version.semver) - } + assertEquals("1-0-0--beta++007", version.semver) } } } From d4fe2807d33fa52d079ac37a396f7612387e2d6c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 6 Apr 2019 04:04:35 -0700 Subject: [PATCH 087/155] Forgot to commit. --- build.gradle.kts | 35 +++++------------------------------ 1 file changed, 5 insertions(+), 30 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 2a4724a..a555d4c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,11 +1,4 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -import org.junit.platform.gradle.plugin.JUnitPlatformExtension - -buildscript { - dependencies { - classpath("org.junit.platform:junit-platform-gradle-plugin:1.0.0") - } -} plugins { `java-gradle-plugin` @@ -25,16 +18,12 @@ group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" var packageName = "net.thauvin.erik.gradle.semver" -var spekVersion = "1.2.1" +var spek_version = "2.0.1" repositories { jcenter() } -apply { - plugin("org.junit.platform.gradle.plugin") -} - dependencies { implementation(gradleApi()) @@ -42,22 +31,8 @@ dependencies { testImplementation(kotlin("test")) testImplementation(gradleTestKit()) - testImplementation("org.jetbrains.spek:spek-api:$spekVersion") { - exclude(group = "org.jetbrains.kotlin") - } - - testRuntimeOnly("org.jetbrains.spek:spek-junit-platform-engine:$spekVersion") { - exclude(group = "org.jetbrains.kotlin") - exclude(group = "org.junit.platform") - } - - testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.5.0-M1") { - because("Needed to run tests IDEs that bundle an older version") - } -} - -configure { - enableStandardTestTask = true + testImplementation("org.spekframework.spek2:spek-dsl-jvm:$spek_version") + testRuntimeOnly("org.spekframework.spek2:spek-runner-junit5:$spek_version") } tasks { @@ -69,7 +44,7 @@ tasks { withType { useJUnitPlatform { - includeEngines("spek") + includeEngines("spek2") } } @@ -90,7 +65,7 @@ tasks { } detekt { - input = files("src/main/kotlin") + input = files("src/main/kotlin", "src/test/kotlin") filters = ".*/resources/.*,.*/build/.*" baseline = project.rootDir.resolve("detekt-baseline.xml") } From 0929d9f5a1079c78ec8979beb0c78dac7fd715ce Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 6 Apr 2019 11:40:45 -0700 Subject: [PATCH 088/155] Added copyright. Fixed typos. --- .../erik/gradle/semver/SemverPluginSpec.kt | 35 +++++++++++++++++-- .../erik/gradle/semver/SemverVersionSpec.kt | 6 ++-- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt index ddd1621..d3ab508 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt @@ -1,3 +1,34 @@ +/* + * SemverVersionSpec.kt + * + * Copyright (c) 2018-2019, Erik C. Thauvin (erik@thauvin.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of this project nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ package net.thauvin.erik.gradle.semver import org.spekframework.spek2.Spek @@ -29,14 +60,14 @@ object SemverPluginSpec : Spek({ val props = Properties().apply { Files.newInputStream(configFile.toPath()).use { nis -> load(nis) - configFile.delete() } + configFile.delete() } assertEquals(props.getProperty(config.majorKey), version.major, "Major") assertEquals(props.getProperty(config.minorKey), version.minor, "Minor") assertEquals(props.getProperty(config.patchKey), version.patch, "Patch") - assertEquals(props.getProperty(config.preReleaseKey), version.preRelease, "PreRelease.") + assertEquals(props.getProperty(config.preReleaseKey), version.preRelease, "PreRelease") assertNull(props.getProperty(config.preReleasePrefixKey), "PreRelease Prefix") assertEquals(props.getProperty(config.buildMetaKey), version.buildMeta, "Build Meta") assertNull(props.getProperty(config.buildMetaPrefixKey), "Build Meta Prefix") diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index 1901673..dccb83c 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -37,9 +37,9 @@ import kotlin.test.assertEquals @Suppress("unused") object SemverVersionSpec : Spek({ - describe("a version") { + describe("test version") { val version = Version() - describe("valdiate default version") { + describe("validate default version") { it("major should be 1") { assertEquals("1", version.major) } @@ -68,7 +68,7 @@ object SemverVersionSpec : Spek({ assertEquals("1.0.0", version.semver) } } - describe("increment major") { + describe("increment") { it("should return 2.0.0") { version.increment(isMajor = true) assertEquals("2.0.0", version.semver) From 8d423a506a78b876cec9b5b97d4b509bad68f009 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 10 Apr 2019 10:41:36 -0700 Subject: [PATCH 089/155] Added version. --- examples/examples.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/examples.sh b/examples/examples.sh index 6867a06..787be4a 100755 --- a/examples/examples.sh +++ b/examples/examples.sh @@ -1,5 +1,7 @@ #!/bin/bash +# Version 1.0 + if [ $# -eq 0 ]; then echo "Usage: $0 " exit 1 From 16d1a06571b11f51d60c2f148ba293a6ba3edbdc Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 10 Apr 2019 10:42:39 -0700 Subject: [PATCH 090/155] Added the ability to specify the version via the command line. --- examples/test/build.gradle | 14 ++-------- .../erik/gradle/semver/SemverPlugin.kt | 26 ++++++++++++++----- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/examples/test/build.gradle b/examples/test/build.gradle index 02d7779..b982333 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -8,7 +8,7 @@ buildscript { mavenLocal() } dependencies { - classpath "net.thauvin.erik.gradle:semver:0.9.9-beta" + classpath "net.thauvin.erik.gradle:semver:1.0.0" } } @@ -20,7 +20,7 @@ mainClassName = 'App' version = 1.0 -def f = new File("test.properties") +def f = new File("version.properties") dependencies { @@ -30,15 +30,6 @@ repositories { jcenter() } -clean { - delete fileTree(dir: "$projectDir", include: "*.properties") -} - -incrementPatch { - doFirst { - println("[Gradle] exists: " + f.exists() + ", canRead: " + f.canRead()) - } -} incrementBuildMeta { doFirst { @@ -48,7 +39,6 @@ incrementBuildMeta { } run { - //dependsOn("incrementPatch") doFirst { println("Version: $version") args = [f.name] diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 9798018..0adb8dc 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -116,16 +116,17 @@ class SemverPlugin : Plugin { Properties().apply { load(reader) - hasReqProps = stringPropertyNames().containsAll(setOf(config.majorKey, config.minorKey, - config.patchKey, config.preReleaseKey, config.buildMetaKey)) + val requiredProps = setOf(config.majorKey, config.minorKey, config.patchKey, + config.preReleaseKey, config.buildMetaKey) + hasReqProps = stringPropertyNames().containsAll(requiredProps) && !hasEnv(requiredProps) - version.major = getProperty(config.majorKey, Version.DEFAULT_MAJOR) - version.minor = getProperty(config.minorKey, Version.DEFAULT_MINOR) - version.patch = getProperty(config.patchKey, Version.DEFAULT_PATCH) - version.preRelease = getProperty(config.preReleaseKey, Version.DEFAULT_EMPTY) + version.major = loadProperty(this, config.majorKey, Version.DEFAULT_MAJOR) + version.minor = loadProperty(this, config.minorKey, Version.DEFAULT_MINOR) + version.patch = loadProperty(this, config.patchKey, Version.DEFAULT_PATCH) + version.preRelease = loadProperty(this, config.preReleaseKey, Version.DEFAULT_EMPTY) version.preReleasePrefix = getProperty(config.preReleasePrefixKey, Version.DEFAULT_PRERELEASE_PREFIX) - version.buildMeta = getProperty(config.buildMetaKey, Version.DEFAULT_EMPTY) + version.buildMeta = loadProperty(this, config.buildMetaKey, Version.DEFAULT_EMPTY) version.buildMetaPrefix = getProperty(config.buildMetaPrefixKey, Version.DEFAULT_BUILDMETA_PREFIX) version.separator = getProperty(config.separatorKey, Version.DEFAULT_SEPARATOR) @@ -147,4 +148,15 @@ class SemverPlugin : Plugin { } } } + + private fun hasEnv(keys: Set): Boolean { + keys.forEach { + if (System.getProperties().containsKey(it)) return true + } + return false + } + + private fun loadProperty(props: Properties, key: String, default: String): String { + return System.getProperty(key, props.getProperty(key, default)) + } } From 7bf291ac269aed9fe2d7bd5b53cef593d8e86fa7 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 10 Apr 2019 14:12:56 -0700 Subject: [PATCH 091/155] Added Utils class. --- .../semver/SemverIncrementBuildMetaTask.kt | 2 +- .../erik/gradle/semver/SemverIncrementTask.kt | 2 +- .../erik/gradle/semver/SemverPlugin.kt | 67 ++----------------- .../net/thauvin/erik/gradle/semver/Utils.kt | 66 ++++++++++++++++++ .../{SemverPluginSpec.kt => UtilsSpec.kt} | 6 +- 5 files changed, 79 insertions(+), 64 deletions(-) create mode 100644 src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt rename src/test/kotlin/net/thauvin/erik/gradle/semver/{SemverPluginSpec.kt => UtilsSpec.kt} (96%) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt index f2a58e0..e4555d0 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt @@ -58,7 +58,7 @@ open class SemverIncrementBuildMetaTask @Inject constructor( version.buildMeta = buildMeta project.version = version.semver logger.lifecycle("Version: ${project.version}") - SemverPlugin.saveProperties(config, version) + Utils.saveProperties(config, version) } } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt index 7966976..d7cb7ac 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt @@ -56,6 +56,6 @@ open class SemverIncrementTask @Inject constructor( isPatch = type == SemverConfig.DEFAULT_PATCH_KEY) project.version = version.semver logger.lifecycle("Version: ${project.version}") - SemverPlugin.saveProperties(config, version) + Utils.saveProperties(config, version) } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 0adb8dc..11f6fa7 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -37,7 +37,6 @@ import org.gradle.api.Project import org.gradle.util.GradleVersion import java.io.File import java.io.FileInputStream -import java.io.FileOutputStream import java.util.Properties class SemverPlugin : Plugin { @@ -45,47 +44,6 @@ class SemverPlugin : Plugin { private var version = Version() private lateinit var config: SemverConfig - companion object { - fun saveProperties(config: SemverConfig, version: Version) { - val propsFile = File(config.properties) - SortedProperties().apply { - propsFile.apply { - if (canRead() && isFile) { - FileInputStream(this).reader().use { load(it) } - } - } - - put(config.majorKey, version.major) - put(config.minorKey, version.minor) - put(config.patchKey, version.patch) - put(config.preReleaseKey, version.preRelease) - put(config.buildMetaKey, version.buildMeta) - if (version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX || - containsKey(config.buildMetaPrefixKey)) - put(config.buildMetaPrefixKey, version.buildMetaPrefix) - if (version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX || - containsKey(config.preReleasePrefixKey)) - put(config.preReleasePrefixKey, version.preReleasePrefix) - if (version.separator != Version.DEFAULT_SEPARATOR || containsKey(config.separatorKey)) - put(config.separatorKey, version.separator) - - propsFile.apply { - if (!exists()) { - // Need to create the file as canWrite() will not work unless the file exists - createNewFile() - } - if (canWrite()) { - FileOutputStream(this).writer().use { - store(it, "Generated by the Semver Plugin for Gradle") - } - } else { - throw GradleException("Unable to write version to: `$absoluteFile`") - } - } - } - } - } - override fun apply(project: Project) { if (GradleVersion.current() < GradleVersion.version("4.8.1")) { throw GradleException("The $simpleName plugin requires Gradle version 4.8.1 or greater.") @@ -118,15 +76,15 @@ class SemverPlugin : Plugin { val requiredProps = setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, config.buildMetaKey) - hasReqProps = stringPropertyNames().containsAll(requiredProps) && !hasEnv(requiredProps) + hasReqProps = stringPropertyNames().containsAll(requiredProps) && !Utils.hasEnv(requiredProps) - version.major = loadProperty(this, config.majorKey, Version.DEFAULT_MAJOR) - version.minor = loadProperty(this, config.minorKey, Version.DEFAULT_MINOR) - version.patch = loadProperty(this, config.patchKey, Version.DEFAULT_PATCH) - version.preRelease = loadProperty(this, config.preReleaseKey, Version.DEFAULT_EMPTY) + version.major = Utils.loadProperty(this, config.majorKey, Version.DEFAULT_MAJOR) + version.minor = Utils.loadProperty(this, config.minorKey, Version.DEFAULT_MINOR) + version.patch = Utils.loadProperty(this, config.patchKey, Version.DEFAULT_PATCH) + version.preRelease = Utils.loadProperty(this, config.preReleaseKey, Version.DEFAULT_EMPTY) version.preReleasePrefix = getProperty(config.preReleasePrefixKey, Version.DEFAULT_PRERELEASE_PREFIX) - version.buildMeta = loadProperty(this, config.buildMetaKey, Version.DEFAULT_EMPTY) + version.buildMeta = Utils.loadProperty(this, config.buildMetaKey, Version.DEFAULT_EMPTY) version.buildMetaPrefix = getProperty(config.buildMetaPrefixKey, Version.DEFAULT_BUILDMETA_PREFIX) version.separator = getProperty(config.separatorKey, Version.DEFAULT_SEPARATOR) @@ -144,19 +102,8 @@ class SemverPlugin : Plugin { if (!hasReqProps || !isFile) { // If first time running and there is no props file, and the required version properties are missing, // then version props would never have been saved before - saveProperties(config, version) + Utils.saveProperties(config, version) } } } - - private fun hasEnv(keys: Set): Boolean { - keys.forEach { - if (System.getProperties().containsKey(it)) return true - } - return false - } - - private fun loadProperty(props: Properties, key: String, default: String): String { - return System.getProperty(key, props.getProperty(key, default)) - } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt new file mode 100644 index 0000000..cdbca54 --- /dev/null +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -0,0 +1,66 @@ +package net.thauvin.erik.gradle.semver + +import org.gradle.api.GradleException +import java.io.File +import java.io.FileInputStream +import java.io.FileOutputStream +import java.util.Properties + +/** + * The Utils class. + * + * @author Erik C. Thauvin + * @created 2019-04-10 + * @since 1.0 + */ +object Utils { + fun hasEnv(keys: Set): Boolean { + keys.forEach { + if (System.getProperties().containsKey(it)) return true + } + return false + } + + fun loadProperty(props: Properties, key: String, default: String): String { + return System.getProperty(key, props.getProperty(key, default)) + } + + fun saveProperties(config: SemverConfig, version: Version) { + val propsFile = File(config.properties) + SortedProperties().apply { + propsFile.apply { + if (canRead() && isFile) { + FileInputStream(this).reader().use { load(it) } + } + } + + put(config.majorKey, version.major) + put(config.minorKey, version.minor) + put(config.patchKey, version.patch) + put(config.preReleaseKey, version.preRelease) + put(config.buildMetaKey, version.buildMeta) + if (version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX || + containsKey(config.buildMetaPrefixKey)) + put(config.buildMetaPrefixKey, version.buildMetaPrefix) + if (version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX || + containsKey(config.preReleasePrefixKey)) + put(config.preReleasePrefixKey, version.preReleasePrefix) + if (version.separator != Version.DEFAULT_SEPARATOR || containsKey(config.separatorKey)) + put(config.separatorKey, version.separator) + + propsFile.apply { + if (!exists()) { + // Need to create the file as canWrite() will not work unless the file exists + createNewFile() + } + if (canWrite()) { + FileOutputStream(this).writer().use { + store(it, "Generated by the Semver Plugin for Gradle") + } + } else { + throw GradleException("Unable to write version to: `$absoluteFile`") + } + } + } + } +} diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt similarity index 96% rename from src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt rename to src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index d3ab508..8f882dd 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverPluginSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -47,11 +47,13 @@ object SemverPluginSpec : Spek({ val config by memoized { SemverConfig() } val configFile = File("test.properties") - config.properties = configFile.name + before { + config.properties = configFile.name + } describe("test save properties") { it("should save properties") { - SemverPlugin.saveProperties(config, version) + Utils.saveProperties(config, version) assertTrue(configFile.exists()) } } From 8b0108ba965155093e4fcda76b0f37bb0f455b80 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 10 Apr 2019 14:13:13 -0700 Subject: [PATCH 092/155] Added tests for Utils class. --- .../thauvin/erik/gradle/semver/UtilsSpec.kt | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 8f882dd..71f5ac8 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -37,35 +37,38 @@ import java.io.File import java.nio.file.Files import java.util.Properties import kotlin.test.assertEquals +import kotlin.test.assertFalse import kotlin.test.assertNull import kotlin.test.assertTrue @Suppress("unused") -object SemverPluginSpec : Spek({ +object UtilsSpec : Spek({ describe("a config and version") { val version by memoized { Version() } val config by memoized { SemverConfig() } val configFile = File("test.properties") + lateinit var props: Properties before { config.properties = configFile.name } - describe("test save properties") { + describe("save properties") { it("should save properties") { Utils.saveProperties(config, version) assertTrue(configFile.exists()) } - } - describe("validate the properties file") { - it("verion should be the same") { - val props = Properties().apply { + it("load the properties") { + props = Properties().apply { Files.newInputStream(configFile.toPath()).use { nis -> load(nis) } configFile.delete() } - + } + } + describe("validate the properties file") { + it("version should be the same") { assertEquals(props.getProperty(config.majorKey), version.major, "Major") assertEquals(props.getProperty(config.minorKey), version.minor, "Minor") assertEquals(props.getProperty(config.patchKey), version.patch, "Patch") @@ -76,5 +79,23 @@ object SemverPluginSpec : Spek({ assertNull(props.getProperty(config.separatorKey), "Separator") } } + describe("setting system properties") { + val newVersion = arrayOf( + Pair(config.majorKey, "2"), + Pair(config.minorKey, "1"), + Pair(config.patchKey, "1"), + Pair(config.preReleaseKey, "beta"), + Pair(config.buildMetaKey, "007")) + it("should have none of our properties") { + assertFalse(Utils.hasEnv(setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, + config.buildMetaKey))) + } + it("version should match system properties") { + newVersion.forEach { + System.getProperties().setProperty(it.first, it.second) + assertEquals(Utils.loadProperty(props, it.first, ""), it.second) + } + } + } } }) From e17feafd90a36c3bdbc1b1777de9d64d61d3a41a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 10 Apr 2019 14:13:32 -0700 Subject: [PATCH 093/155] Added command line info. --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 5de4ef0..2ff43ab 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,14 @@ Version: 1.0.16-beta+002 - __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) +## Command Line + +The `major`, `minor`, `patch`, `prerelease` and `buildmeta` versions can also be set via the command line: + +```bash +./gradlew -Dversion.prerelease=beta ... +``` + ## Configuration ### Version File Properties From d3ebf2689eda78ed9fe63ecf044db7129a1cb994 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 10 Apr 2019 22:28:18 -0700 Subject: [PATCH 094/155] Reworked hasEnv to isNotSystemProperty. --- .../kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt | 3 ++- src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt | 4 ++-- src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 11f6fa7..774787d 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -76,7 +76,8 @@ class SemverPlugin : Plugin { val requiredProps = setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, config.buildMetaKey) - hasReqProps = stringPropertyNames().containsAll(requiredProps) && !Utils.hasEnv(requiredProps) + hasReqProps = stringPropertyNames().containsAll(requiredProps) && + Utils.isNotSystemProperty(requiredProps) version.major = Utils.loadProperty(this, config.majorKey, Version.DEFAULT_MAJOR) version.minor = Utils.loadProperty(this, config.minorKey, Version.DEFAULT_MINOR) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index cdbca54..f1497f1 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -14,9 +14,9 @@ import java.util.Properties * @since 1.0 */ object Utils { - fun hasEnv(keys: Set): Boolean { + fun isNotSystemProperty(keys: Set): Boolean { keys.forEach { - if (System.getProperties().containsKey(it)) return true + if (!System.getProperties().containsKey(it)) return true } return false } diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 71f5ac8..87f5419 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -87,7 +87,7 @@ object UtilsSpec : Spek({ Pair(config.preReleaseKey, "beta"), Pair(config.buildMetaKey, "007")) it("should have none of our properties") { - assertFalse(Utils.hasEnv(setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, + assertFalse(Utils.isNotSystemProperty(setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, config.buildMetaKey))) } it("version should match system properties") { From 9985de1e0ad0aac8f59205063728bc2f44b124e1 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 10 Apr 2019 22:38:34 -0700 Subject: [PATCH 095/155] Fixed test. --- src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 87f5419..791c5fb 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -37,7 +37,6 @@ import java.io.File import java.nio.file.Files import java.util.Properties import kotlin.test.assertEquals -import kotlin.test.assertFalse import kotlin.test.assertNull import kotlin.test.assertTrue @@ -87,7 +86,7 @@ object UtilsSpec : Spek({ Pair(config.preReleaseKey, "beta"), Pair(config.buildMetaKey, "007")) it("should have none of our properties") { - assertFalse(Utils.isNotSystemProperty(setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, + assertTrue(Utils.isNotSystemProperty(setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, config.buildMetaKey))) } it("version should match system properties") { From 6f4d3c1501e5babf77acef659d3e439e97bffdbe Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 11 Apr 2019 00:32:14 -0700 Subject: [PATCH 096/155] Updated dependencies and added buildScan support. --- .circleci/config.yml | 3 ++- .travis.yml | 6 +++++- build.gradle.kts | 21 ++++++++++++++++----- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d3e8cde..9788a59 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,6 +5,7 @@ defaults: &defaults environment: JVM_OPTS: -Xmx3200m TERM: dumb + CI: true version: 2.0 @@ -30,7 +31,7 @@ jobs: - run: name: Run All Checks - command: ./gradlew check + command: ./gradlew check --scan - store_artifacts: path: build/reports/ diff --git a/.travis.yml b/.travis.yml index f463f8e..25b785f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,9 @@ language: java +env: + global: + - CI=true + jdk: - oraclejdk8 @@ -15,7 +19,7 @@ before_install: - chmod +x gradlew script: - - ./gradlew check + - ./gradlew check --scan cache: directories: diff --git a/build.gradle.kts b/build.gradle.kts index a555d4c..6c68d39 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,10 +5,11 @@ plugins { `kotlin-dsl` `maven-publish` jacoco - id("com.github.ben-manes.versions").version("0.21.0") - id("com.gradle.plugin-publish").version("0.10.1") - id("io.gitlab.arturbosch.detekt").version("1.0.0-RC14") - id("org.jlleitschuh.gradle.ktlint").version("7.2.1") + id("com.github.ben-manes.versions") version "0.21.0" + id("com.gradle.build-scan") version "2.2.1" + id("com.gradle.plugin-publish") version "0.10.1" + id("io.gitlab.arturbosch.detekt") version "1.0.0-RC14" + id("org.jlleitschuh.gradle.ktlint") version "7.3.0" id("org.sonarqube") version "2.7" } @@ -18,7 +19,7 @@ group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" var packageName = "net.thauvin.erik.gradle.semver" -var spek_version = "2.0.1" +var spek_version = "2.0.2" repositories { jcenter() @@ -64,6 +65,16 @@ tasks { } } +buildScan { + link("GitHub", "https://github.com/ethauvin/semver-gradle/tree/master") + if ("true" == System.getenv("CI")) { + publishOnFailure() + tag("CI") + } + termsOfServiceUrl = "https://gradle.com/terms-of-service" + termsOfServiceAgree = "yes" +} + detekt { input = files("src/main/kotlin", "src/test/kotlin") filters = ".*/resources/.*,.*/build/.*" From ad2a7ae78676cad5a2cd29b8fd9c74fc44958d81 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 11 Apr 2019 07:30:11 -0700 Subject: [PATCH 097/155] Reworked how the version properties file is read/written to better handle command line options, tests, etc. --- .../erik/gradle/semver/SemverConfig.kt | 15 +++ .../erik/gradle/semver/SemverPlugin.kt | 51 ++++------ .../net/thauvin/erik/gradle/semver/Utils.kt | 97 ++++++++++++++----- .../net/thauvin/erik/gradle/semver/Version.kt | 13 +++ .../thauvin/erik/gradle/semver/UtilsSpec.kt | 41 ++++---- 5 files changed, 145 insertions(+), 72 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index f3f9c42..88609d2 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -63,4 +63,19 @@ open class SemverConfig { var separatorKey = DEFAULT_SEPARATOR get() = "$keysPrefix$field" var keysPrefix = DEFAULT_KEYS_PREFIX + + override fun toString(): String { + return "SemverConfig(" + + "properties='$properties', " + + "majorKey='$majorKey', " + + "minorKey='$minorKey', " + + "patchKey='$patchKey', " + + "preReleaseKey='$preReleaseKey', " + + "preReleasePrefixKey='$preReleasePrefixKey', " + + "buildMetaKey='$buildMetaKey', " + + "buildMetaPrefixKey='$buildMetaPrefixKey', " + + "separator='$separatorKey', " + + "keysPrefix='$keysPrefix')" + + ")" + } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 774787d..5da1f23 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -36,8 +36,6 @@ import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.util.GradleVersion import java.io.File -import java.io.FileInputStream -import java.util.Properties class SemverPlugin : Plugin { private val simpleName = SemverPlugin::class.simpleName @@ -61,48 +59,39 @@ class SemverPlugin : Plugin { private fun afterEvaluate(project: Project) { val propsFile = File(config.properties) + if (project.version != "unspecified") { project.logger.warn( "Please specify the version in ${propsFile.name} and remove it from ${project.buildFile.name}") } + propsFile.apply { + val isNew = !exists() + project.logger.info( - "[$simpleName] Attempting to read properties from: `$absoluteFile`. [exists: ${exists()}, isFile: $isFile, canRead: ${canRead()}]") - var hasReqProps = false - if (canRead() && isFile) { - FileInputStream(this).reader().use { reader -> - Properties().apply { - load(reader) + "[$simpleName] Attempting to read properties from: `$absoluteFile`. [exists: $isNew, isFile: $isFile, canRead: ${propsFile.canRead()}]") - val requiredProps = setOf(config.majorKey, config.minorKey, config.patchKey, - config.preReleaseKey, config.buildMetaKey) - hasReqProps = stringPropertyNames().containsAll(requiredProps) && - Utils.isNotSystemProperty(requiredProps) + val props = Utils.loadProperties(propsFile) + val requiredProps = setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, + config.buildMetaKey) + val hasReqProps = !isNew && props.stringPropertyNames().containsAll(requiredProps) && + Utils.isNotSystemProperty(requiredProps) - version.major = Utils.loadProperty(this, config.majorKey, Version.DEFAULT_MAJOR) - version.minor = Utils.loadProperty(this, config.minorKey, Version.DEFAULT_MINOR) - version.patch = Utils.loadProperty(this, config.patchKey, Version.DEFAULT_PATCH) - version.preRelease = Utils.loadProperty(this, config.preReleaseKey, Version.DEFAULT_EMPTY) - version.preReleasePrefix = - getProperty(config.preReleasePrefixKey, Version.DEFAULT_PRERELEASE_PREFIX) - version.buildMeta = Utils.loadProperty(this, config.buildMetaKey, Version.DEFAULT_EMPTY) - version.buildMetaPrefix = - getProperty(config.buildMetaPrefixKey, Version.DEFAULT_BUILDMETA_PREFIX) - version.separator = getProperty(config.separatorKey, Version.DEFAULT_SEPARATOR) + println(isNew) + println(props.stringPropertyNames().containsAll(requiredProps)) + println(Utils.isNotSystemProperty(requiredProps)) - project.tasks.withType(SemverIncrementBuildMetaTask::class.java) { - buildMeta = version.buildMeta - } - } - } - } else if (exists()) { - throw GradleException("Unable to read version from: `$absoluteFile`") + Utils.loadVersion(config, version, props) + + project.tasks.withType(SemverIncrementBuildMetaTask::class.java) { + buildMeta = version.buildMeta } + project.version = version.semver project.logger.info("[$simpleName] Project version set to: ${project.version}") + if (!hasReqProps || !isFile) { - // If first time running and there is no props file, and the required version properties are missing, - // then version props would never have been saved before + project.logger.info("[$simpleName] Saving version properties to `${config.properties}`.") Utils.saveProperties(config, version) } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index f1497f1..ae93ba6 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -14,45 +14,94 @@ import java.util.Properties * @since 1.0 */ object Utils { + fun File.canReadFile(): Boolean { + return canRead() && isFile + } + + private fun Properties.put(key: String, value: String, isValidCondition: Boolean) { + if (isValidCondition) put(key, value) + } + fun isNotSystemProperty(keys: Set): Boolean { keys.forEach { - if (!System.getProperties().containsKey(it)) return true + if (System.getProperties().containsKey(it)) return false } - return false + return true + } + + fun loadProperties(file: File): Properties { + var isNew = false + val props = Properties() + file.apply { + if (!exists()) { + if (!createNewFile()) { + throw GradleException("Unable to create: `$absoluteFile`") + } else { + isNew = true + } + } + if (canReadFile()) { + FileInputStream(this).reader().use { reader -> + props.apply { + if (!isNew) { + load(reader) + } + } + } + } else { + throw GradleException("Unable to read version from: `$absoluteFile`") + } + } + return props } fun loadProperty(props: Properties, key: String, default: String): String { - return System.getProperty(key, props.getProperty(key, default)) + return System.getProperty(key, if (props.isNotEmpty()) props.getProperty(key, default) else default) + } + + fun loadVersion(config: SemverConfig, version: Version, props: Properties) { + props.apply { + version.major = loadProperty(this, config.majorKey, Version.DEFAULT_MAJOR) + version.minor = loadProperty(this, config.minorKey, Version.DEFAULT_MINOR) + version.patch = loadProperty(this, config.patchKey, Version.DEFAULT_PATCH) + version.preRelease = loadProperty(this, config.preReleaseKey, Version.DEFAULT_EMPTY) + version.buildMeta = loadProperty(this, config.buildMetaKey, Version.DEFAULT_EMPTY) + + if (!isEmpty) { + version.preReleasePrefix = + getProperty(config.preReleasePrefixKey, Version.DEFAULT_PRERELEASE_PREFIX) + version.buildMetaPrefix = + getProperty(config.buildMetaPrefixKey, Version.DEFAULT_BUILDMETA_PREFIX) + version.separator = getProperty(config.separatorKey, Version.DEFAULT_SEPARATOR) + } + } } fun saveProperties(config: SemverConfig, version: Version) { val propsFile = File(config.properties) SortedProperties().apply { propsFile.apply { - if (canRead() && isFile) { + if (canReadFile()) { FileInputStream(this).reader().use { load(it) } - } - } - - put(config.majorKey, version.major) - put(config.minorKey, version.minor) - put(config.patchKey, version.patch) - put(config.preReleaseKey, version.preRelease) - put(config.buildMetaKey, version.buildMeta) - if (version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX || - containsKey(config.buildMetaPrefixKey)) - put(config.buildMetaPrefixKey, version.buildMetaPrefix) - if (version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX || - containsKey(config.preReleasePrefixKey)) - put(config.preReleasePrefixKey, version.preReleasePrefix) - if (version.separator != Version.DEFAULT_SEPARATOR || containsKey(config.separatorKey)) - put(config.separatorKey, version.separator) - - propsFile.apply { - if (!exists()) { - // Need to create the file as canWrite() will not work unless the file exists + } else { createNewFile() } + + put(config.majorKey, version.major) + put(config.minorKey, version.minor) + put(config.patchKey, version.patch) + put(config.preReleaseKey, version.preRelease) + put(config.buildMetaKey, version.buildMeta) + put(config.buildMetaPrefixKey, version.buildMetaPrefix, + version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX || + containsKey(config.buildMetaPrefixKey)) + put(config.preReleasePrefixKey, version.preReleasePrefix, + version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX || + containsKey(config.preReleasePrefixKey)) + put(config.separatorKey, version.separator, + version.separator != Version.DEFAULT_SEPARATOR || + containsKey(config.separatorKey)) + if (canWrite()) { FileOutputStream(this).writer().use { store(it, "Generated by the Semver Plugin for Gradle") diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt index 7179745..1ff5cb4 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt @@ -68,4 +68,17 @@ class Version { } if (isPatch) patch = (patch.toInt() + 1).toString() } + + override fun toString(): String { + return "Version(" + + "major='$major', " + + "minor='$minor', " + + "patch='$patch', " + + "preRelease='$preRelease', " + + "preReleasePrefix='$preReleasePrefix', " + + "buildMeta='$buildMeta', " + + "buildMetaPrefix='$buildMetaPrefix', " + + "separator='$separator'" + + ")" + } } diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 791c5fb..d742885 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -31,10 +31,10 @@ */ package net.thauvin.erik.gradle.semver +import net.thauvin.erik.gradle.semver.Utils.canReadFile import org.spekframework.spek2.Spek import org.spekframework.spek2.style.specification.describe import java.io.File -import java.nio.file.Files import java.util.Properties import kotlin.test.assertEquals import kotlin.test.assertNull @@ -43,30 +43,23 @@ import kotlin.test.assertTrue @Suppress("unused") object UtilsSpec : Spek({ describe("a config and version") { - val version by memoized { Version() } - val config by memoized { SemverConfig() } - val configFile = File("test.properties") + val version = Version() + val config = SemverConfig() + val propsFile = File("test.properties") lateinit var props: Properties - before { - config.properties = configFile.name - } - describe("save properties") { - it("should save properties") { + it("save properties") { + config.properties = propsFile.name Utils.saveProperties(config, version) - assertTrue(configFile.exists()) + assertTrue(propsFile.canReadFile()) } it("load the properties") { - props = Properties().apply { - Files.newInputStream(configFile.toPath()).use { nis -> - load(nis) - } - configFile.delete() - } + props = Utils.loadProperties(propsFile) + propsFile.delete() } } - describe("validate the properties file") { + describe("validate the properties") { it("version should be the same") { assertEquals(props.getProperty(config.majorKey), version.major, "Major") assertEquals(props.getProperty(config.minorKey), version.minor, "Minor") @@ -95,6 +88,20 @@ object UtilsSpec : Spek({ assertEquals(Utils.loadProperty(props, it.first, ""), it.second) } } + it("load version") { + Utils.loadVersion(config, version, props) + assertEquals(version.semver, "2.1.1-beta+007") + } + it("save new properties") { + Utils.saveProperties(config, version) + } + it("check saved properties") { + val newProps = Utils.loadProperties(propsFile) + newVersion.forEach { + assertEquals(newProps.getProperty(it.first), it.second, it.second) + } + propsFile.delete() + } } } }) From e2c01103a7461dd2279458043313f67aac57174c Mon Sep 17 00:00:00 2001 From: Ronald van Eede Date: Thu, 11 Apr 2019 17:03:12 +0200 Subject: [PATCH 098/155] Include full semver version in version.properties (#4) --- src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt | 3 +++ src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt | 1 + 2 files changed, 4 insertions(+) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index 88609d2..89b7079 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -35,6 +35,7 @@ open class SemverConfig { companion object { const val DEFAULT_KEYS_PREFIX = "version." const val DEFAULT_PROPERTIES = "${DEFAULT_KEYS_PREFIX}properties" + const val DEFAULT_SEMVER_KEY = "semver" const val DEFAULT_MAJOR_KEY = "major" const val DEFAULT_MINOR_KEY = "minor" const val DEFAULT_PATCH_KEY = "patch" @@ -46,6 +47,8 @@ open class SemverConfig { } var properties = DEFAULT_PROPERTIES + var semverKey = DEFAULT_SEMVER_KEY + get() = "$keysPrefix$field" var majorKey = DEFAULT_MAJOR_KEY get() = "$keysPrefix$field" var minorKey = DEFAULT_MINOR_KEY diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index ae93ba6..6ac79e8 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -87,6 +87,7 @@ object Utils { createNewFile() } + put(config.semverKey, version.semver) put(config.majorKey, version.major) put(config.minorKey, version.minor) put(config.patchKey, version.patch) From 1b12eba58b6d160abcca7a045a00e7c52bd3f608 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 11 Apr 2019 10:13:58 -0700 Subject: [PATCH 099/155] Closes #3 --- .../kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 5da1f23..cc73422 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -77,10 +77,6 @@ class SemverPlugin : Plugin { val hasReqProps = !isNew && props.stringPropertyNames().containsAll(requiredProps) && Utils.isNotSystemProperty(requiredProps) - println(isNew) - println(props.stringPropertyNames().containsAll(requiredProps)) - println(Utils.isNotSystemProperty(requiredProps)) - Utils.loadVersion(config, version, props) project.tasks.withType(SemverIncrementBuildMetaTask::class.java) { From 963966eb1c1e84b57c86db79dc8898e1c6ecf196 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 11 Apr 2019 10:14:36 -0700 Subject: [PATCH 100/155] Addded the ability to specify the semver property key. --- README.md | 18 +++++++++++++++++- .../thauvin/erik/gradle/semver/SemverConfig.kt | 3 ++- .../net/thauvin/erik/gradle/semver/Utils.kt | 2 ++ .../net/thauvin/erik/gradle/semver/Version.kt | 4 ++-- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2ff43ab..9e18172 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ version.minor=0 version.patch=0 version.prerelease= version.buildmeta= +version.semver=1.0.0 ``` To change the version of your project, remove the version from your `build.gradle` and simply edit your the version properties file to match your version number. @@ -107,7 +108,17 @@ Version: 1.0.16-beta+002 The `major`, `minor`, `patch`, `prerelease` and `buildmeta` versions can also be set via the command line: ```bash -./gradlew -Dversion.prerelease=beta ... +./gradlew -Dversion.prerelease=beta -Dversion.buildmeta= ... +``` + +```ini +#version.properties +version.major=1 +version.minor=0 +version.patch=0 +version.prerelease= +version.buildmeta=beta +version.semver=1.0.0-beta ``` ## Configuration @@ -132,6 +143,8 @@ The version number is built as follows: `version.major` `version.separtor` `version.minor` `version.separator` `version.patch` `[` `version.prerelease.prefix` `version.prerelease` `]` `[` `version.prerelease.prefix` `version.buildmeta` `]` +For reference, it is automatically included in the `version.semver` property. + for example: ```ini @@ -141,6 +154,7 @@ version.minor=0 version.patch=0 version.prerelease=beta version.buildmeta=exp.sha.5114f85 +version.sevmer=1.0.0-beta+exp.sha.5114f85 ``` `project.version` will be `1.0.0-beta+exp.sha.5114f85` in Gradle. @@ -181,6 +195,7 @@ min=0 build=0 rel=beta meta= +semver=1.0.0-beta ``` The following `semver` properties are available: @@ -214,6 +229,7 @@ test.minor=0 test.patch=0 test.prerelease= test.buildmeta= +test.semver=1.0.0 ``` - __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index 89b7079..000d828 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -70,6 +70,7 @@ open class SemverConfig { override fun toString(): String { return "SemverConfig(" + "properties='$properties', " + + "semver='$semverKey', " + "majorKey='$majorKey', " + "minorKey='$minorKey', " + "patchKey='$patchKey', " + @@ -79,6 +80,6 @@ open class SemverConfig { "buildMetaPrefixKey='$buildMetaPrefixKey', " + "separator='$separatorKey', " + "keysPrefix='$keysPrefix')" + - ")" + ')' } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index 6ac79e8..41b3aa8 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -93,6 +93,8 @@ object Utils { put(config.patchKey, version.patch) put(config.preReleaseKey, version.preRelease) put(config.buildMetaKey, version.buildMeta) + put(config.semverKey, version.semver) + put(config.buildMetaPrefixKey, version.buildMetaPrefix, version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX || containsKey(config.buildMetaPrefixKey)) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt index 1ff5cb4..b60ee6b 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt @@ -78,7 +78,7 @@ class Version { "preReleasePrefix='$preReleasePrefix', " + "buildMeta='$buildMeta', " + "buildMetaPrefix='$buildMetaPrefix', " + - "separator='$separator'" + - ")" + "separator='$separator', " + + ')' } } From 8510e80094678e9ec7fa212826d834bba5b9017f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 11 Apr 2019 10:21:46 -0700 Subject: [PATCH 101/155] Test with semverKey. --- examples/test/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/test/build.gradle b/examples/test/build.gradle index b982333..2b1e5d3 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -49,4 +49,5 @@ semver { properties = "$projectDir/${f.name}" keysPrefix = f.name.substring(0, f.name.indexOf(".") + 1) buildMetaKey = "meta" + semverKey = "fullversion" } From 239a952d892a2ef3436787702e49a9e4bf75059b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 13 Apr 2019 04:43:40 -0700 Subject: [PATCH 102/155] Implemented parsing of semver. --- .../net/thauvin/erik/gradle/semver/Utils.kt | 72 +++++++++++++++++-- 1 file changed, 67 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index 41b3aa8..1a02f77 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -61,11 +61,13 @@ object Utils { fun loadVersion(config: SemverConfig, version: Version, props: Properties) { props.apply { - version.major = loadProperty(this, config.majorKey, Version.DEFAULT_MAJOR) - version.minor = loadProperty(this, config.minorKey, Version.DEFAULT_MINOR) - version.patch = loadProperty(this, config.patchKey, Version.DEFAULT_PATCH) - version.preRelease = loadProperty(this, config.preReleaseKey, Version.DEFAULT_EMPTY) - version.buildMeta = loadProperty(this, config.buildMetaKey, Version.DEFAULT_EMPTY) + if (!parseSemVer(System.getProperty(config.semverKey), version)) { + version.major = loadProperty(this, config.majorKey, Version.DEFAULT_MAJOR) + version.minor = loadProperty(this, config.minorKey, Version.DEFAULT_MINOR) + version.patch = loadProperty(this, config.patchKey, Version.DEFAULT_PATCH) + version.preRelease = loadProperty(this, config.preReleaseKey, Version.DEFAULT_EMPTY) + version.buildMeta = loadProperty(this, config.buildMetaKey, Version.DEFAULT_EMPTY) + } if (!isEmpty) { version.preReleasePrefix = @@ -77,6 +79,66 @@ object Utils { } } + fun parseSemVer(input: String?, version: Version): Boolean { + if (input == null) return false + + var semver = StringBuilder(input) + var start = semver.indexOf(version.separator) + var minor = "" + var major = "" + var patch = "" + var preRelease = "" + var buildMeta = "" + + // major + if (start != -1) { + major = semver.substring(0, start) + semver.delete(0, start + major.length) + start = semver.indexOf(version.separator) + // minor + if (start != -1) { + minor = semver.substring(0, start) + semver = semver.delete(0, start + minor.length) + start = semver.indexOf(version.preReleasePrefix) + // patch + if (start != -1) { + patch = semver.substring(0, start) + semver.delete(0, start + minor.length) + start = semver.lastIndexOf(version.buildMetaPrefix) + // pre-release + if (start != -1) { + preRelease = semver.substring(0, start) + semver.delete(0, preRelease.length) + start = semver.indexOf(version.buildMetaPrefix) + // build meta + if (start != -1) { + buildMeta = semver.substring(version.preReleasePrefix.length) + semver.clear() + } + } else { + // no build meta + preRelease = semver.toString() + semver.clear() + } + } else if (semver.isNotEmpty()) { + // no pre-release + patch = semver.toString() + semver.clear() + } + } + } + + if (semver.isNotEmpty()) throw GradleException("Unable to parse version: `$input`.") + + version.major = major + version.minor = minor + version.patch = patch + version.preRelease = preRelease + version.buildMeta = buildMeta + + return true + } + fun saveProperties(config: SemverConfig, version: Version) { val propsFile = File(config.properties) SortedProperties().apply { From 7c45ed087f5b00d29e70b642b5c8e2be8100dc84 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 13 Apr 2019 04:45:50 -0700 Subject: [PATCH 103/155] Switched to gherkin syntax. --- .../erik/gradle/semver/SemverConfigSpec.kt | 72 +++++---- .../erik/gradle/semver/SemverVersionSpec.kt | 152 +++++++++++------- .../thauvin/erik/gradle/semver/UtilsSpec.kt | 109 ++++++++++--- 3 files changed, 218 insertions(+), 115 deletions(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index 8a0fff8..6f08476 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -32,51 +32,53 @@ package net.thauvin.erik.gradle.semver import org.spekframework.spek2.Spek -import org.spekframework.spek2.style.specification.describe +import org.spekframework.spek2.style.gherkin.Feature import kotlin.test.assertEquals import kotlin.test.assertTrue @Suppress("unused") object SemverConfigSpec : Spek({ - describe("a config") { - val config by memoized { SemverConfig() } - val vars = listOf( - config.majorKey, - config.minorKey, - config.patchKey, - config.preReleaseKey, - config.preReleasePrefixKey, - config.buildMetaKey, - config.buildMetaPrefixKey, - config.separatorKey - ) - val defaults = listOf( - SemverConfig.DEFAULT_MAJOR_KEY, - SemverConfig.DEFAULT_MINOR_KEY, - SemverConfig.DEFAULT_PATCH_KEY, - SemverConfig.DEFAULT_PRERELEASE_KEY, - SemverConfig.DEFAULT_PRERELEASE_PREFIX_KEY, - SemverConfig.DEFAULT_BUILDMETA_KEY, - SemverConfig.DEFAULT_BUILDMETA_PREFIX_KEY, - SemverConfig.DEFAULT_SEPARATOR - ) + Feature("SemverConfig") { + Scenario("Testing configs") { + val config by memoized { SemverConfig() } + val vars = listOf( + config.majorKey, + config.minorKey, + config.patchKey, + config.preReleaseKey, + config.preReleasePrefixKey, + config.buildMetaKey, + config.buildMetaPrefixKey, + config.separatorKey + ) + val defaults = listOf( + SemverConfig.DEFAULT_MAJOR_KEY, + SemverConfig.DEFAULT_MINOR_KEY, + SemverConfig.DEFAULT_PATCH_KEY, + SemverConfig.DEFAULT_PRERELEASE_KEY, + SemverConfig.DEFAULT_PRERELEASE_PREFIX_KEY, + SemverConfig.DEFAULT_BUILDMETA_KEY, + SemverConfig.DEFAULT_BUILDMETA_PREFIX_KEY, + SemverConfig.DEFAULT_SEPARATOR + ) + + When("checking defaults") {} - describe("check defaults") { defaults.forEachIndexed { i, d -> - it("should be the same: ${vars[i]}, ${config.keysPrefix}$d") { + Then(" ${vars[i]} should be the same: ${config.keysPrefix}$d") { assertEquals(vars[i], "${config.keysPrefix}$d") } } - } - describe("check version.properties") { - it("should be version.properties") { + + Then("config.properties should be version.properties") { assertEquals(config.properties, "version.properties") } - } - describe("set keys to test.xxx") { - it("should all start with test.xxx") { + + lateinit var newKeys: List + + When("setting keyPrefix to test.") { config.keysPrefix = "test." - val keys = listOf( + newKeys = listOf( config.majorKey, config.minorKey, config.patchKey, @@ -85,9 +87,11 @@ object SemverConfigSpec : Spek({ config.buildMetaKey, config.buildMetaPrefixKey, config.separatorKey) + } - keys.forEach { k -> - assertTrue(k.startsWith("test."), "Should be test.$k") + Then("all config keys should start with test.xxxx") { + newKeys.forEach { k -> + assertTrue(k.startsWith("test."), k) } } } diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index dccb83c..4136736 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -32,131 +32,169 @@ package net.thauvin.erik.gradle.semver import org.spekframework.spek2.Spek -import org.spekframework.spek2.style.specification.describe +import org.spekframework.spek2.style.gherkin.Feature import kotlin.test.assertEquals @Suppress("unused") object SemverVersionSpec : Spek({ - describe("test version") { + Feature("SemverVersion") { val version = Version() - describe("validate default version") { - it("major should be 1") { + Scenario("Testing Versions") { + When("validating default version") {} + + Then("major should be 1") { assertEquals("1", version.major) } - it("minor should be 1") { + + Then("minor should be 1") { assertEquals("0", version.minor) } - it("patch should be 0") { + + Then("patch should be 0") { assertEquals("0", version.patch) } - it("prerelease should be empty") { + + Then("prerelease should be empty") { assertEquals("", version.preRelease) } - it("meta should be empty") { + + Then("meta should be empty") { assertEquals("", version.buildMeta) } - it("preRelease prefix should be -") { + + Then("preRelease prefix should be -") { assertEquals("-", version.preReleasePrefix) } - it("meta prefix should be +") { + + Then("meta prefix should be +") { assertEquals("+", version.buildMetaPrefix) } - it("separator should be .") { + + Then("separator should be .") { assertEquals(".", version.separator) } - it("version should be 1.0.0") { + + Then("version should be 1.0.0") { assertEquals("1.0.0", version.semver) } - } - describe("increment") { - it("should return 2.0.0") { + + When("incrementing major") { version.increment(isMajor = true) + } + + Then("should return 2.0.0") { assertEquals("2.0.0", version.semver) } - } - describe("increment minor") { - it("should return 2.1.0") { + + When("incrementing minor") { version.increment(isMinor = true) + } + + Then("should return 2.1.0") { assertEquals("2.1.0", version.semver) } - } - describe("increment patch") { - it("should return 2.1.1") { + + When("incrementing patch") { version.increment(isPatch = true) + } + + Then("should return 2.1.1") { assertEquals("2.1.1", version.semver) } - } - describe("increment minor again") { - it("should return 2.2.0") { + + When("incrementing minor again") { version.increment(isMinor = true) + } + + Then("should return 2.2.0") { assertEquals("2.2.0", version.semver) } - } - describe("increment major again") { - it("should return 3.0.0") { + + When("incrementing major again") { version.increment(isMajor = true) + } + + Then("should return 3.0.0") { assertEquals("3.0.0", version.semver) } - } - describe("increment all") { - it("should return 4.1.1") { + + When("incrementing all") { version.increment(isMajor = true, isMinor = true, isPatch = true) + } + + Then("should return 4.1.1") { assertEquals("4.1.1", version.semver) } - } - describe("increment major and minor") { - it("should return 5.1.0") { + + When("incrementing major and minor") { version.increment(isMajor = true, isMinor = true) + } + + Then("should return 5.1.0") { assertEquals("5.1.0", version.semver) } - } - describe("increment minor and patch") { - it("should return 5.2.1") { + + When("incrementing minor and patch") { version.increment(isMinor = true, isPatch = true) + } + Then("should return 5.2.1") { assertEquals("5.2.1", version.semver) } - } - describe("increment nothing") { - it("should still return 5.2.1") { + + When("incrementing nothing") { version.increment() + } + Then("should still return 5.2.1") { assertEquals("5.2.1", version.semver) } - } - describe("reset version") { - it("should return 1.0.0") { + + When("resetting version") { version.major = "1" version.minor = "0" version.patch = "0" + } + + Then("should return 1.0.0") { assertEquals("1.0.0", version.semver) } - } - describe("add prerelease") { - it("should return 1.0.0-beta") { + + When("adding prerelease") { version.preRelease = "beta" + } + + Then("should return 1.0.0-beta") { assertEquals("1.0.0-beta", version.semver) } - } - describe("add metadata") { - it("should return 1.0.0-beta+007") { + + When("adding metadata") { version.buildMeta = "007" + } + + Then("should return 1.0.0-beta+007") { assertEquals("1.0.0-beta+007", version.semver) } - } - describe("change prerelease prefix") { - it("should return 1.0.0--beta+007") { + + When("changing prerelease prefix") { version.preReleasePrefix = "--" + } + + Then("should return 1.0.0--beta+007") { assertEquals("1.0.0--beta+007", version.semver) } - } - describe("change meta prefix") { - it("should return 1.0.0--beta++007") { + + When("changing meta prefix") { version.buildMetaPrefix = "++" + } + + Then("should return 1.0.0--beta++007") { assertEquals("1.0.0--beta++007", version.semver) } - } - describe("change separator") { - it("should return 1-0-0--beta++007") { + + When("changing separator") { version.separator = "-" + } + + Then("should return 1-0-0--beta++007") { assertEquals("1-0-0--beta++007", version.semver) } } diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index d742885..646796a 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -33,7 +33,7 @@ package net.thauvin.erik.gradle.semver import net.thauvin.erik.gradle.semver.Utils.canReadFile import org.spekframework.spek2.Spek -import org.spekframework.spek2.style.specification.describe +import org.spekframework.spek2.style.gherkin.Feature import java.io.File import java.util.Properties import kotlin.test.assertEquals @@ -42,25 +42,28 @@ import kotlin.test.assertTrue @Suppress("unused") object UtilsSpec : Spek({ - describe("a config and version") { + Feature("Utils") { val version = Version() val config = SemverConfig() val propsFile = File("test.properties") lateinit var props: Properties - describe("save properties") { - it("save properties") { + Scenario("Save/Load Properties") { + When("saving the property") { config.properties = propsFile.name Utils.saveProperties(config, version) - assertTrue(propsFile.canReadFile()) } - it("load the properties") { + + Then("properties file should exists and be readable") { + assertEquals(propsFile.canReadFile(), propsFile.canRead() && propsFile.isFile) + } + + When("loading the properties file") { props = Utils.loadProperties(propsFile) propsFile.delete() } - } - describe("validate the properties") { - it("version should be the same") { + + Then("version and properties should be the same.") { assertEquals(props.getProperty(config.majorKey), version.major, "Major") assertEquals(props.getProperty(config.minorKey), version.minor, "Minor") assertEquals(props.getProperty(config.patchKey), version.patch, "Patch") @@ -69,39 +72,97 @@ object UtilsSpec : Spek({ assertEquals(props.getProperty(config.buildMetaKey), version.buildMeta, "Build Meta") assertNull(props.getProperty(config.buildMetaPrefixKey), "Build Meta Prefix") assertNull(props.getProperty(config.separatorKey), "Separator") + assertEquals(props.getProperty(config.semverKey), version.semver, "semver") } } - describe("setting system properties") { - val newVersion = arrayOf( - Pair(config.majorKey, "2"), - Pair(config.minorKey, "1"), - Pair(config.patchKey, "1"), - Pair(config.preReleaseKey, "beta"), - Pair(config.buildMetaKey, "007")) - it("should have none of our properties") { + + Scenario("System Properties") { + lateinit var sysProps: Array> + + Given("new system properties") { + sysProps = arrayOf( + Pair(config.majorKey, "2"), + Pair(config.minorKey, "1"), + Pair(config.patchKey, "1"), + Pair(config.preReleaseKey, "beta"), + Pair(config.buildMetaKey, "007")) + } + + Then("none should already exists") { assertTrue(Utils.isNotSystemProperty(setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, config.buildMetaKey))) } - it("version should match system properties") { - newVersion.forEach { + + Then("version should match system properties") { + sysProps.forEach { System.getProperties().setProperty(it.first, it.second) assertEquals(Utils.loadProperty(props, it.first, ""), it.second) } } - it("load version") { + + When("loading version") { Utils.loadVersion(config, version, props) + + } + + Then("version should be identical") { assertEquals(version.semver, "2.1.1-beta+007") } - it("save new properties") { + + When("saving properties") { Utils.saveProperties(config, version) } - it("check saved properties") { - val newProps = Utils.loadProperties(propsFile) - newVersion.forEach { + + lateinit var newProps: Properties + + And("loading properties file") { + newProps = Utils.loadProperties(propsFile) + } + + Then("new properties should validate") { + sysProps.forEach { assertEquals(newProps.getProperty(it.first), it.second, it.second) } propsFile.delete() } + + When("setting the version as system property") { + System.getProperties().setProperty(config.semverKey, "3.2.2") + } + + And("loading the properties") { + Utils.loadVersion(config, version, props) + } + + Then("versions should match") { + assertEquals(version.semver, System.getProperty(config.semverKey)) + } + } + + Scenario("Testing Version Parsing") { + When("validating version parsing") { + listOf("1.0.0", "2.1.0-beta", "3.2.1-beta+007", "4.3.2+007").forEach { + assertTrue(Utils.parseSemVer(it, version), "parsing semver: $it") + assertEquals(it, version.semver, it) + } + } + + Given("new prefixes") { + version.preReleasePrefix = "." + version.buildMetaPrefix = "." + } + + Then("validating prefixes parsing") { + listOf("2.1.0.beta.1", "2.1.1.1", "3.2.1.beta.1.007").forEach { + assertTrue(Utils.parseSemVer(it, version), "parsing semver: $it") + assertEquals(it, version.semver, it) + } + } + + Then("verifying pre-release and meta") { + assertEquals(version.preRelease, "beta.1") + assertEquals(version.buildMeta, "007") + } } } }) From ad5c3fa233e6931445afec508b9687acb51f1c7d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 13 Apr 2019 04:46:14 -0700 Subject: [PATCH 104/155] Updated baseline. --- detekt-baseline.xml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/detekt-baseline.xml b/detekt-baseline.xml index 936c64e..ffcc67e 100644 --- a/detekt-baseline.xml +++ b/detekt-baseline.xml @@ -1,10 +1,13 @@ - - - ComplexMethod:SemverPlugin.kt$SemverPlugin.Companion$fun saveProperties(config: SemverConfig, version: Version) + + + ComplexMethod:Utils.kt$Utils$fun loadProperties(file: File): Properties + MagicNumber:Utils.kt$Utils$3 + MagicNumber:Utils.kt$Utils$4 MaxLineLength:SemverPlugin.kt$net.thauvin.erik.gradle.semver.SemverPlugin.kt - NestedBlockDepth:SemverPlugin.kt$SemverPlugin$private fun afterEvaluate(project: Project) - NestedBlockDepth:SemverPlugin.kt$SemverPlugin.Companion$fun saveProperties(config: SemverConfig, version: Version) + NestedBlockDepth:Utils.kt$Utils$fun loadProperties(file: File): Properties + NestedBlockDepth:Utils.kt$Utils$fun parseSemVer(input: String, version: Version): String + NestedBlockDepth:Utils.kt$Utils$fun saveProperties(config: SemverConfig, version: Version) - + \ No newline at end of file From e760e8fb777393ee5e0c9821f346936cbade7987 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 13 Apr 2019 04:59:47 -0700 Subject: [PATCH 105/155] Whitepaces cleanup --- .../net/thauvin/erik/gradle/semver/SemverVersionSpec.kt | 8 ++++---- .../kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index 4136736..7c26ddf 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -121,7 +121,7 @@ object SemverVersionSpec : Spek({ When("incrementing all") { version.increment(isMajor = true, isMinor = true, isPatch = true) } - + Then("should return 4.1.1") { assertEquals("4.1.1", version.semver) } @@ -129,7 +129,7 @@ object SemverVersionSpec : Spek({ When("incrementing major and minor") { version.increment(isMajor = true, isMinor = true) } - + Then("should return 5.1.0") { assertEquals("5.1.0", version.semver) } @@ -161,7 +161,7 @@ object SemverVersionSpec : Spek({ When("adding prerelease") { version.preRelease = "beta" } - + Then("should return 1.0.0-beta") { assertEquals("1.0.0-beta", version.semver) } @@ -169,7 +169,7 @@ object SemverVersionSpec : Spek({ When("adding metadata") { version.buildMeta = "007" } - + Then("should return 1.0.0-beta+007") { assertEquals("1.0.0-beta+007", version.semver) } diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 646796a..412bdac 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -102,7 +102,6 @@ object UtilsSpec : Spek({ When("loading version") { Utils.loadVersion(config, version, props) - } Then("version should be identical") { From b9ead8272e85d8446bb4d01445d7dc9d3d2906a6 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 14 Apr 2019 00:34:11 -0700 Subject: [PATCH 106/155] Improvements to the version parsing. --- .../erik/gradle/semver/SemverPlugin.kt | 8 +- .../net/thauvin/erik/gradle/semver/Utils.kt | 96 ++++++++++++------- .../net/thauvin/erik/gradle/semver/Version.kt | 12 +-- .../erik/gradle/semver/SemverVersionSpec.kt | 12 +-- .../thauvin/erik/gradle/semver/UtilsSpec.kt | 12 ++- 5 files changed, 84 insertions(+), 56 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index cc73422..0f38c8f 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -71,9 +71,9 @@ class SemverPlugin : Plugin { project.logger.info( "[$simpleName] Attempting to read properties from: `$absoluteFile`. [exists: $isNew, isFile: $isFile, canRead: ${propsFile.canRead()}]") - val props = Utils.loadProperties(propsFile) - val requiredProps = setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, - config.buildMetaKey) + val props = Utils.loadProperties(this) + val requiredProps = setOf(config.semverKey, config.majorKey, config.minorKey, config.patchKey, + config.preReleaseKey, config.buildMetaKey) val hasReqProps = !isNew && props.stringPropertyNames().containsAll(requiredProps) && Utils.isNotSystemProperty(requiredProps) @@ -87,7 +87,7 @@ class SemverPlugin : Plugin { project.logger.info("[$simpleName] Project version set to: ${project.version}") if (!hasReqProps || !isFile) { - project.logger.info("[$simpleName] Saving version properties to `${config.properties}`.") + project.logger.info("[$simpleName] Saving version properties to `$absoluteFile`.") Utils.saveProperties(config, version) } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index 1a02f77..9fe07b5 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -18,6 +18,11 @@ object Utils { return canRead() && isFile } + private fun Int.length() = when (this) { + 0 -> 1 + else -> Math.log10(Math.abs(toDouble())).toInt() + 1 + } + private fun Properties.put(key: String, value: String, isValidCondition: Boolean) { if (isValidCondition) put(key, value) } @@ -55,6 +60,14 @@ object Utils { return props } + fun loadIntProperty(props: Properties, key: String, default: Int): Int { + try { + return loadProperty(props, key, default.toString()).toInt() + } catch (e: java.lang.NumberFormatException) { + throw GradleException("Unable to parse $key property. (${e.message})", e) + } + } + fun loadProperty(props: Properties, key: String, default: String): String { return System.getProperty(key, if (props.isNotEmpty()) props.getProperty(key, default) else default) } @@ -62,9 +75,9 @@ object Utils { fun loadVersion(config: SemverConfig, version: Version, props: Properties) { props.apply { if (!parseSemVer(System.getProperty(config.semverKey), version)) { - version.major = loadProperty(this, config.majorKey, Version.DEFAULT_MAJOR) - version.minor = loadProperty(this, config.minorKey, Version.DEFAULT_MINOR) - version.patch = loadProperty(this, config.patchKey, Version.DEFAULT_PATCH) + version.major = loadIntProperty(this, config.majorKey, Version.DEFAULT_MAJOR) + version.minor = loadIntProperty(this, config.minorKey, Version.DEFAULT_MINOR) + version.patch = loadIntProperty(this, config.patchKey, Version.DEFAULT_PATCH) version.preRelease = loadProperty(this, config.preReleaseKey, Version.DEFAULT_EMPTY) version.buildMeta = loadProperty(this, config.buildMetaKey, Version.DEFAULT_EMPTY) } @@ -84,51 +97,62 @@ object Utils { var semver = StringBuilder(input) var start = semver.indexOf(version.separator) - var minor = "" - var major = "" - var patch = "" + var minor = -1 + var major = -1 + var patch = -1 var preRelease = "" var buildMeta = "" - // major - if (start != -1) { - major = semver.substring(0, start) - semver.delete(0, start + major.length) - start = semver.indexOf(version.separator) - // minor + try { + // major if (start != -1) { - minor = semver.substring(0, start) - semver = semver.delete(0, start + minor.length) - start = semver.indexOf(version.preReleasePrefix) - // patch + major = semver.substring(0, start).toInt() + semver.delete(0, start + major.length()) + start = semver.indexOf(version.separator) + // minor if (start != -1) { - patch = semver.substring(0, start) - semver.delete(0, start + minor.length) - start = semver.lastIndexOf(version.buildMetaPrefix) - // pre-release + minor = semver.substring(0, start).toInt() + semver = semver.delete(0, start + minor.length()) + start = semver.indexOf(version.preReleasePrefix) + // patch if (start != -1) { - preRelease = semver.substring(0, start) - semver.delete(0, preRelease.length) - start = semver.indexOf(version.buildMetaPrefix) - // build meta + patch = semver.substring(0, start).toInt() + semver.delete(0, start + minor.length()) + start = semver.lastIndexOf(version.buildMetaPrefix) + // pre-release if (start != -1) { - buildMeta = semver.substring(version.preReleasePrefix.length) + preRelease = semver.substring(0, start) + semver.delete(0, preRelease.length) + start = semver.indexOf(version.buildMetaPrefix) + // build meta + if (start != -1) { + buildMeta = semver.substring(version.preReleasePrefix.length) + semver.clear() + } + } else { + // no build meta + preRelease = semver.toString() semver.clear() } - } else { - // no build meta - preRelease = semver.toString() + } else if (semver.isNotEmpty()) { + // no pre-release + start = semver.lastIndexOf(version.buildMetaPrefix) + if (start != -1) { + patch = semver.substring(0, start).toInt() + semver.delete(0, start + minor.length()) + buildMeta = semver.toString() + } else { + patch = semver.toString().toInt() + } semver.clear() } - } else if (semver.isNotEmpty()) { - // no pre-release - patch = semver.toString() - semver.clear() } } + } catch (e: NumberFormatException) { + throw GradleException("Unable to parse version: \"$input\" (${e.message})", e) } - if (semver.isNotEmpty()) throw GradleException("Unable to parse version: `$input`.") + if (semver.isNotEmpty()) throw GradleException("Unable to parse version: \"$input\".") version.major = major version.minor = minor @@ -150,9 +174,9 @@ object Utils { } put(config.semverKey, version.semver) - put(config.majorKey, version.major) - put(config.minorKey, version.minor) - put(config.patchKey, version.patch) + put(config.majorKey, version.major.toString()) + put(config.minorKey, version.minor.toString()) + put(config.patchKey, version.patch.toString()) put(config.preReleaseKey, version.preRelease) put(config.buildMetaKey, version.buildMeta) put(config.semverKey, version.semver) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt index b60ee6b..6cd7143 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt @@ -33,9 +33,9 @@ package net.thauvin.erik.gradle.semver class Version { companion object { - const val DEFAULT_MAJOR: String = "1" - const val DEFAULT_MINOR: String = "0" - const val DEFAULT_PATCH: String = "0" + const val DEFAULT_MAJOR: Int = 1 + const val DEFAULT_MINOR: Int = 0 + const val DEFAULT_PATCH: Int = 0 const val DEFAULT_EMPTY: String = "" const val DEFAULT_PRERELEASE_PREFIX = "-" const val DEFAULT_BUILDMETA_PREFIX = "+" @@ -58,15 +58,15 @@ class Version { fun increment(isMajor: Boolean = false, isMinor: Boolean = false, isPatch: Boolean = false) { if (isMajor) { - major = (major.toInt() + 1).toString() + major++ minor = DEFAULT_MINOR patch = DEFAULT_PATCH } if (isMinor) { - minor = (minor.toInt() + 1).toString() + minor++ patch = DEFAULT_PATCH } - if (isPatch) patch = (patch.toInt() + 1).toString() + if (isPatch) patch++ } override fun toString(): String { diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index 7c26ddf..ab1db94 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -43,15 +43,15 @@ object SemverVersionSpec : Spek({ When("validating default version") {} Then("major should be 1") { - assertEquals("1", version.major) + assertEquals(1, version.major) } Then("minor should be 1") { - assertEquals("0", version.minor) + assertEquals(0, version.minor) } Then("patch should be 0") { - assertEquals("0", version.patch) + assertEquals(0, version.patch) } Then("prerelease should be empty") { @@ -149,9 +149,9 @@ object SemverVersionSpec : Spek({ } When("resetting version") { - version.major = "1" - version.minor = "0" - version.patch = "0" + version.major = 1 + version.minor = 0 + version.patch = 0 } Then("should return 1.0.0") { diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 412bdac..314d3a4 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -64,9 +64,9 @@ object UtilsSpec : Spek({ } Then("version and properties should be the same.") { - assertEquals(props.getProperty(config.majorKey), version.major, "Major") - assertEquals(props.getProperty(config.minorKey), version.minor, "Minor") - assertEquals(props.getProperty(config.patchKey), version.patch, "Patch") + assertEquals(props.getProperty(config.majorKey), version.major.toString(), "Major") + assertEquals(props.getProperty(config.minorKey), version.minor.toString(), "Minor") + assertEquals(props.getProperty(config.patchKey), version.patch.toString(), "Patch") assertEquals(props.getProperty(config.preReleaseKey), version.preRelease, "PreRelease") assertNull(props.getProperty(config.preReleasePrefixKey), "PreRelease Prefix") assertEquals(props.getProperty(config.buildMetaKey), version.buildMeta, "Build Meta") @@ -96,7 +96,11 @@ object UtilsSpec : Spek({ Then("version should match system properties") { sysProps.forEach { System.getProperties().setProperty(it.first, it.second) - assertEquals(Utils.loadProperty(props, it.first, ""), it.second) + if (it.first == config.majorKey || it.first == config.minorKey || it.first == config.patchKey) { + assertEquals(Utils.loadIntProperty(props, it.first, -1), it.second.toInt()) + } else { + assertEquals(Utils.loadProperty(props, it.first, ""), it.second) + } } } From 9d996cccac25826f7c86b249fa540a8910d6b423 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 14 Apr 2019 00:34:44 -0700 Subject: [PATCH 107/155] Added semver command line option. --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 9e18172..d8611ac 100644 --- a/README.md +++ b/README.md @@ -121,6 +121,14 @@ version.buildmeta=beta version.semver=1.0.0-beta ``` +The full semantic version can also be specified via the `semver` property: + +```ini +./gradlew -Dversion.semver=1.0.0-beta ... +``` + +If a version cannot be parsed your build will **fail**. + ## Configuration ### Version File Properties From 27c3657f0f01aea8ef1e10a18b4ee5f3b3d0bcf0 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 14 Apr 2019 15:47:25 -0700 Subject: [PATCH 108/155] Handle empty input. --- src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index 9fe07b5..ca0d52a 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -93,7 +93,7 @@ object Utils { } fun parseSemVer(input: String?, version: Version): Boolean { - if (input == null) return false + if (input.isNullOrBlank()) return false var semver = StringBuilder(input) var start = semver.indexOf(version.separator) From 5043868fc7f92be583be5efedaac4af6c12f788e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 14 Apr 2019 15:47:47 -0700 Subject: [PATCH 109/155] Cleanup. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d8611ac..8756e74 100644 --- a/README.md +++ b/README.md @@ -123,7 +123,7 @@ version.semver=1.0.0-beta The full semantic version can also be specified via the `semver` property: -```ini +```sh ./gradlew -Dversion.semver=1.0.0-beta ... ``` From da087f19db61837fe55436fb0ace22a8b79bc839 Mon Sep 17 00:00:00 2001 From: Ronald van Eede Date: Mon, 15 Apr 2019 09:29:07 +0200 Subject: [PATCH 110/155] Extended existing tests to include semver property (#5) --- .../kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index 6f08476..4360a0b 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -42,6 +42,7 @@ object SemverConfigSpec : Spek({ Scenario("Testing configs") { val config by memoized { SemverConfig() } val vars = listOf( + config.semverKey, config.majorKey, config.minorKey, config.patchKey, @@ -52,6 +53,7 @@ object SemverConfigSpec : Spek({ config.separatorKey ) val defaults = listOf( + SemverConfig.DEFAULT_SEMVER_KEY, SemverConfig.DEFAULT_MAJOR_KEY, SemverConfig.DEFAULT_MINOR_KEY, SemverConfig.DEFAULT_PATCH_KEY, @@ -79,6 +81,7 @@ object SemverConfigSpec : Spek({ When("setting keyPrefix to test.") { config.keysPrefix = "test." newKeys = listOf( + config.semverKey, config.majorKey, config.minorKey, config.patchKey, From 2d8b0d5a62a4b8845f3018407f71d33db4f7cbc7 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 15 Apr 2019 23:36:38 -0700 Subject: [PATCH 111/155] Version 1.1.1 --- preflightcheck.sh | 119 +++++++++++++++++++++++++++++++++------------- 1 file changed, 86 insertions(+), 33 deletions(-) diff --git a/preflightcheck.sh b/preflightcheck.sh index 914eb65..fdf6a88 100644 --- a/preflightcheck.sh +++ b/preflightcheck.sh @@ -1,7 +1,7 @@ #!/bin/bash # -# Version: 1.0 +# Version: 1.1.1 # # set source and test locations @@ -17,12 +17,13 @@ declare -a examples=( "examples/annotation-processor/java incrementMinor run" "examples/annotation-processor/kotlin incrementMinor run") # e.g: empty or javadoc, etc. -doc="" +gradle_doc="" # e.g. empty or sonarqube -sonar="sonarqube" - -# gradle default command line args -opts="--console=plain --no-build-cache --no-daemon" +gradle_sonar="sonarqube" +# gradle options for examples +gradle_opts="--console=plain --no-build-cache --no-daemon" +# maven arguments for examples +maven_args="compile exec:java" ### @@ -40,7 +41,6 @@ date=$(date +%Y) pause() { read -p "Press [Enter] key to continue..." - clear } checkCopyright() { @@ -54,9 +54,12 @@ checkCopyright() { runGradle() { cd "$1" || exit 1 + clear + reset echo -e "> Project: ${cyan}${1}${std} [Gradle]" shift - ./gradlew $opts clean $@ || exit 1 + ./gradlew $@ || exit 1 + pause cd "$pwd" } @@ -64,15 +67,26 @@ runKobalt() { cd "$1" || exit 1 if [ -f kobalt/src/Build.kt ] then - read -p "Run Kobalt Example? [y/n]: " choice - case $choice in - [Yy] ) - clear - echo -e "> Project: ${cyan}$1${std} [Kobalt]" - shift - ./kobaltw clean $@ ;; - * ) ;; - esac + clear + reset + echo -e "> Project: ${cyan}${1}${std} [Kobalt]" + shift + ./kobaltw $@ || exit 1 + pause + fi + cd "$pwd" +} + +runMaven() { + cd "$1" || exit 1 + if [ -f pom.xml ] + then + clear + reset + echo -e "> Project: ${cyan}${1}${std} [Maven]" + shift + mvn $@ || exit 1 + pause fi cd "$pwd" } @@ -87,32 +101,69 @@ checkDeps() { clear echo -e "${cyan}Checking depencencies...${std}" gradle --console=plain dU || exit 1 - pause + read -p "Check Examples depencencies? [y/n] " cont + clear + case $cont in + * ) for ex in "${!examples[@]}" + do + runGradle $(echo "${examples[ex]}" | cut -d " " -f 1) dU + runKobalt $(echo "${examples[ex]}" | cut -d " " -f 1) checkVersions + runMaven $(echo "${examples[ex]}" | cut -d " " -f 1) versions:display-dependency-updates + if [ "$ex" -eq "${#examples}"] + then + read -p "Continue? [y/n]: " cont + clear + case $cont in + * ) continue ;; + [Nn] ) return ;; + esac + fi + done ;; + [Nn] ) return ;; + esac } gradleCheck() { clear echo -e "${cyan}Checking Gradle build....${std}" - gradle $opts clean check $doc $sonar || exit 1 + gradle $gradle_opts clean check $gradle_doc $gradle_sonar || exit 1 pause } -examples() { - clear - echo -e "Running examples..." - for ex in "${examples[@]}" +runExamples() { + for ex in "${!examples[@]}" do - runGradle $ex - runKobalt $ex - read -p "Continue? [y/n]: " choice - clear - case $choice in - [Yy] ) continue ;; - * ) return ;; - esac + runGradle ${examples[ex]} clean $gradle_opts + runKobalt ${examples[ex]} clean + runMaven $(echo "${examples[ex]}" | cut -d " " -f 1) clean $maven_args done } +examplesMenu() { + clear + echo -e "${cyan}Examples${std}" + for ex in "${!examples[@]}" + do + printf ' %d. %s\n' $(($ex + 1)) $(echo "${examples[ex]}" | cut -d " " -f 1) + done + echo " $((${#examples[@]} + 1)). Run All Examples" + read -p "Enter choice [1-${#examples[@]}]: " choice + clear + case $choice in + [0-9] ) if [ "$choice" -gt "${#examples[@]}" ] + then + runExamples + examplesMenu + else + runGradle ${examples[$(($choice - 1))]} + runKobalt ${examples[$(($choice - 1))]} + runMaven $(echo "${examples[$(($choice - 1))]}" | cut -d " " -f 1) $maven_args + examplesMenu + fi ;; + * ) return ;; + esac +} + validateCopyrights() { clear echo -e "${cyan}Validating copyrights...${std}" @@ -127,11 +178,13 @@ everything() { updateWrappers checkDeps gradleCheck - examples + runExamples validateCopyrights } showMenu() { + clear + echo "${cyan}Preflight Check${std}" echo " 1. Update Wrappers" echo " 2. Check Dependencies" echo " 3. Check Gradle Build" @@ -147,7 +200,7 @@ readOptions(){ 1) updateWrappers ;; 2) checkDeps ;; 3) gradleCheck ;; - 4) examples ;; + 4) examplesMenu ;; 5) validateCopyrights ;; 6) everything ;; *) exit 0 ;; From 28ca769c546b3f4747ac8d69239d05b09505e559 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 15 Apr 2019 23:36:53 -0700 Subject: [PATCH 112/155] Cleanup. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8756e74..f70f261 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ version.buildmeta= version.semver=1.0.0 ``` -To change the version of your project, remove the version from your `build.gradle` and simply edit your the version properties file to match your version number. +To change the version of your project, remove the version from `build.gradle` and simply edit the version properties file to match your version number. - __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) From a6b9eeea1da32fff3eecbbf22003152871c911db Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 15 Apr 2019 23:38:28 -0700 Subject: [PATCH 113/155] Cleanup. --- .../java/version.properties | 4 ++-- .../kotlin/build.gradle.kts | 10 +++++----- .../kotlin/version.properties | 4 ++-- examples/java/version.properties | 4 ++-- examples/kotlin/build.gradle.kts | 6 +++--- examples/kotlin/version.properties | 4 ++-- .../test/gradle/wrapper/gradle-wrapper.jar | Bin 54417 -> 55616 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/test/gradlew | 18 +++++++++++++++++- examples/test/gradlew.bat | 18 +++++++++++++++++- version.properties | 3 ++- 11 files changed, 53 insertions(+), 20 deletions(-) diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index 2712834..80864e3 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Fri Apr 05 22:56:10 PDT 2019 +#Mon Apr 15 12:20:10 PDT 2019 version.buildmeta= version.major=2 -version.minor=4 +version.minor=7 version.patch=0 version.prerelease= version.project=Java Example diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index f461a68..d603729 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -1,9 +1,9 @@ plugins { - kotlin("jvm").version("1.3.21") + kotlin("jvm") version "1.3.30" application - id("org.jetbrains.kotlin.kapt").version("1.3.21") - id("net.thauvin.erik.gradle.semver").version("0.9.9-beta") - id("com.github.ben-manes.versions").version("0.21.0") + id("org.jetbrains.kotlin.kapt") version "1.3.30" + id("net.thauvin.erik.gradle.semver") version "0.9.9-beta" + id("com.github.ben-manes.versions") version "0.21.0" } // ./gradlew @@ -42,7 +42,7 @@ tasks { } } -semver { +semver { // properties = "example.properties" // keysPrefix = "example." // preReleaseKey = "release" diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index 87dbec4..4dce255 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Fri Apr 05 22:56:48 PDT 2019 +#Mon Apr 15 13:44:40 PDT 2019 version.buildmeta= version.major=11 -version.minor=7 +version.minor=10 version.patch=0 version.prerelease= version.project=Kotlin Example diff --git a/examples/java/version.properties b/examples/java/version.properties index 7793f40..bcee704 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,6 +1,6 @@ #Generated by the Semver Plugin for Gradle -#Fri Apr 05 22:54:31 PDT 2019 -version.buildmeta=20190405225431 +#Mon Apr 15 19:06:46 PDT 2019 +version.buildmeta=20190415190646 version.major=1 version.minor=1 version.patch=8 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index b765f7d..0fb6b50 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -4,10 +4,10 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { - kotlin("jvm").version("1.3.21") + kotlin("jvm") version "1.3.30" application - id("net.thauvin.erik.gradle.semver").version("0.9.9-beta") - id("com.github.ben-manes.versions").version("0.21.0") + id("net.thauvin.erik.gradle.semver") version "0.9.9-beta" + id("com.github.ben-manes.versions") version "0.21.0" } // ./gradlew diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index b305433..94dd37d 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,6 +1,6 @@ #Generated by the Semver Plugin for Gradle -#Fri Apr 05 22:55:25 PDT 2019 -version.buildmeta=20190405225525 +#Mon Apr 15 12:45:13 PDT 2019 +version.buildmeta=20190415124513 version.major=1 version.minor=2 version.patch=4 diff --git a/examples/test/gradle/wrapper/gradle-wrapper.jar b/examples/test/gradle/wrapper/gradle-wrapper.jar index 758de960ec7947253b058ff79c88ce51f3abe08a..5c2d1cf016b3885f6930543d57b744ea8c220a1a 100644 GIT binary patch literal 55616 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 diff --git a/examples/test/gradle/wrapper/gradle-wrapper.properties b/examples/test/gradle/wrapper/gradle-wrapper.properties index 2d80b69..ea13fdf 100644 --- a/examples/test/gradle/wrapper/gradle-wrapper.properties +++ b/examples/test/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/test/gradlew b/examples/test/gradlew index cccdd3d..b0d6d0a 100755 --- a/examples/test/gradlew +++ b/examples/test/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" diff --git a/examples/test/gradlew.bat b/examples/test/gradlew.bat index f955316..9991c50 100644 --- a/examples/test/gradlew.bat +++ b/examples/test/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome diff --git a/version.properties b/version.properties index cacc7cd..ec9fc12 100644 --- a/version.properties +++ b/version.properties @@ -1,7 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Fri Apr 05 22:53:26 PDT 2019 +#Thu Apr 11 17:57:36 PDT 2019 version.buildmeta= version.major=1 version.minor=0 version.patch=0 version.prerelease= +version.semver=1.0.0 From 7649039342c187d9f48513b825abd2fc2ee73b11 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 16 Apr 2019 11:51:37 -0700 Subject: [PATCH 114/155] Added gradle.properties --- .idea/copyright/profiles_settings.xml | 7 +++++++ examples/annotation-processor/kotlin/.gitignore | 17 ++++++++--------- .../kotlin/gradle.properties | 1 + 3 files changed, 16 insertions(+), 9 deletions(-) create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 examples/annotation-processor/kotlin/gradle.properties diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..1607f69 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/.gitignore b/examples/annotation-processor/kotlin/.gitignore index 32fe2fe..4cfd6f0 100644 --- a/examples/annotation-processor/kotlin/.gitignore +++ b/examples/annotation-processor/kotlin/.gitignore @@ -1,10 +1,3 @@ -**/.idea/dictionaries -**/.idea/gradle.xml -**/.idea/libraries -**/.idea/tasks.xml -**/.idea/workspace.xml -*.iws -*.sublime-* .classpath .DS_Store .gradle @@ -12,12 +5,18 @@ .nb-gradle .project .settings +*.iws +*.sublime-* +**/.idea/dictionaries +**/.idea/gradle.xml +**/.idea/libraries +**/.idea/tasks.xml +**/.idea/workspace.xml /bin /build /deploy /dist /gen -/gradle.properties /lib/kotlin* /libs /local.properties @@ -29,4 +28,4 @@ ehthumbs.db kobaltBuild kobaltw*-test -Thumbs.db \ No newline at end of file +Thumbs.db diff --git a/examples/annotation-processor/kotlin/gradle.properties b/examples/annotation-processor/kotlin/gradle.properties new file mode 100644 index 0000000..170c210 --- /dev/null +++ b/examples/annotation-processor/kotlin/gradle.properties @@ -0,0 +1 @@ +kapt.use.worker.api=true From 51fba9b362901d3534c3aa024b48aeff20533c65 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 16 Apr 2019 11:52:00 -0700 Subject: [PATCH 115/155] Updated copyright. --- .../erik/gradle/semver/SemverConfig.kt | 1 + .../semver/SemverIncrementBuildMetaTask.kt | 1 + .../erik/gradle/semver/SemverIncrementTask.kt | 1 + .../erik/gradle/semver/SemverPlugin.kt | 1 + .../erik/gradle/semver/SortedProperties.kt | 1 + .../net/thauvin/erik/gradle/semver/Utils.kt | 32 +++++++++++++++++++ .../net/thauvin/erik/gradle/semver/Version.kt | 1 + .../erik/gradle/semver/SemverConfigSpec.kt | 1 + .../erik/gradle/semver/SemverVersionSpec.kt | 1 + .../thauvin/erik/gradle/semver/UtilsSpec.kt | 2 +- 10 files changed, 41 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index 000d828..7327356 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -29,6 +29,7 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package net.thauvin.erik.gradle.semver open class SemverConfig { diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt index e4555d0..a48e5d7 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt @@ -29,6 +29,7 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package net.thauvin.erik.gradle.semver import org.gradle.api.DefaultTask diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt index d7cb7ac..090580f 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt @@ -29,6 +29,7 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package net.thauvin.erik.gradle.semver import org.gradle.api.DefaultTask diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 0f38c8f..0508fc7 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -29,6 +29,7 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package net.thauvin.erik.gradle.semver import org.gradle.api.GradleException diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt index 9d18bc6..388c91d 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt @@ -29,6 +29,7 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package net.thauvin.erik.gradle.semver import java.util.Collections diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index ca0d52a..bc65041 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -1,3 +1,35 @@ +/* + * Utils.kt + * + * Copyright (c) 2018-2019, Erik C. Thauvin (erik@thauvin.net) + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * Neither the name of this project nor the names of its contributors may be + * used to endorse or promote products derived from this software without + * specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + package net.thauvin.erik.gradle.semver import org.gradle.api.GradleException diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt index 6cd7143..7982615 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt @@ -29,6 +29,7 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package net.thauvin.erik.gradle.semver class Version { diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index 4360a0b..99221e8 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -29,6 +29,7 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package net.thauvin.erik.gradle.semver import org.spekframework.spek2.Spek diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index ab1db94..f7becf6 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -29,6 +29,7 @@ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ + package net.thauvin.erik.gradle.semver import org.spekframework.spek2.Spek diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 314d3a4..698ab7f 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -1,5 +1,5 @@ /* - * SemverVersionSpec.kt + * UtilsSpec.kt * * Copyright (c) 2018-2019, Erik C. Thauvin (erik@thauvin.net) * All rights reserved. From 2438d5c3d766166a7f7a12db5ec29625b24b0062 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 16 Apr 2019 11:53:18 -0700 Subject: [PATCH 116/155] Updated wrappers and dependencies. --- .../java/gradle/wrapper/gradle-wrapper.properties | 2 +- examples/annotation-processor/kotlin/build.gradle.kts | 10 +++++----- .../kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- examples/java/gradle/wrapper/gradle-wrapper.properties | 2 +- examples/kotlin/build.gradle.kts | 6 +++--- .../kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 7 files changed, 13 insertions(+), 13 deletions(-) diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties index ea13fdf..5f1b120 100644 --- a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index d603729..190313f 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -1,9 +1,9 @@ plugins { - kotlin("jvm") version "1.3.30" + kotlin("jvm").version("1.3.30") application - id("org.jetbrains.kotlin.kapt") version "1.3.30" - id("net.thauvin.erik.gradle.semver") version "0.9.9-beta" - id("com.github.ben-manes.versions") version "0.21.0" + id("org.jetbrains.kotlin.kapt").version("1.3.30") + id("net.thauvin.erik.gradle.semver").version("0.9.9-beta") + id("com.github.ben-manes.versions").version("0.21.0") } // ./gradlew @@ -42,7 +42,7 @@ tasks { } } -semver { +semver { // properties = "example.properties" // keysPrefix = "example." // preReleaseKey = "release" diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties index ea13fdf..5f1b120 100644 --- a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/java/gradle/wrapper/gradle-wrapper.properties b/examples/java/gradle/wrapper/gradle-wrapper.properties index ea13fdf..5f1b120 100644 --- a/examples/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 0fb6b50..1a0a06f 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -4,10 +4,10 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { - kotlin("jvm") version "1.3.30" + kotlin("jvm").version("1.3.30") application - id("net.thauvin.erik.gradle.semver") version "0.9.9-beta" - id("com.github.ben-manes.versions") version "0.21.0" + id("net.thauvin.erik.gradle.semver").version("0.9.9-beta") + id("com.github.ben-manes.versions").version("0.21.0") } // ./gradlew diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties index ea13fdf..5f1b120 100644 --- a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ea13fdf..5f1b120 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-5.3.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From c7bf4e21ccf76c4c3bb7c4865e880679327fe08f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 16 Apr 2019 11:57:58 -0700 Subject: [PATCH 117/155] Version 1.0.1 --- updatewrappers.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/updatewrappers.sh b/updatewrappers.sh index dc639bd..e98cca5 100644 --- a/updatewrappers.sh +++ b/updatewrappers.sh @@ -2,7 +2,7 @@ # -# Version: 1.0.1 +# Version: 1.0.2 # # set the examples directories @@ -10,8 +10,8 @@ declare -a dirs=( "${PWD##*/}" "examples/java" "examples/kotlin" - "annotation-processor/java" - "annotation-processor/kotlin") + "examples/annotation-processor/java" + "examples/annotation-processor/kotlin") java8=true ### @@ -53,11 +53,11 @@ updateWrappers() { echo -e "Updating wrappers..." -for d in "${dirs[@]}"; do - if [ -d "$d" ]; then - cd "$d" || exit 1 +for d in "${!dirs[@]}"; do + if [ "$d" -ne 0 ]; then + cd "${dirs[d]}" || exit 1 fi - echo -e " ${cyan}${d}${std}" + echo -e " ${cyan}${dirs[d]}${std}" updateWrappers cd "$pwd" done From 338899e317f444111f60acabae8ba47d2dbda07d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 19 Apr 2019 00:07:54 -0700 Subject: [PATCH 118/155] Cleanup. --- .gitignore | 90 +++++++++++------ examples/annotation-processor/java/.gitignore | 94 ++++++++++++++---- .../annotation-processor/kotlin/.gitignore | 87 +++++++++++++---- examples/java/.gitignore | 94 ++++++++++++++---- examples/kotlin/.gitignore | 93 ++++++++++++++---- examples/test/.gitignore | 96 ++++++++++++++----- 6 files changed, 425 insertions(+), 129 deletions(-) diff --git a/.gitignore b/.gitignore index 3546451..a78c5c2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,45 +2,81 @@ !.vscode/launch.json !.vscode/settings.json !.vscode/tasks.json +!gradle-wrapper.jar .classpath .DS_Store .gradle .history +.idea_modules/ +.idea/**/contentModel.xml +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/dataSources/ +.idea/**/dbnavigator.xml +.idea/**/dictionaries +.idea/**/dynamic.xml +.idea/**/gradle.xml +.idea/**/libraries +.idea/**/mongoSettings.xml +.idea/**/shelf +.idea/**/sqlDataSources.xml +.idea/**/tasks.xml +.idea/**/uiDesigner.xml +.idea/**/usage.statistics.xml +.idea/**/workspace.xml +.idea/caches/build_file_checksums.ser +.idea/httpRequests +.idea/replstate.xml .kobalt +.mtj.tmp/ +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar .nb-gradle .project +.scannerwork .settings .vscode/* +*.class *.code-workspace +*.ctxt +*.ear *.iws +*.jar +*.log +*.nar +*.rar *.sublime-* -**/.idea/**/dataSources.ids -**/.idea/**/dataSources.local.xml -**/.idea/**/dataSources/ -**/.idea/**/dbnavigator.xml -**/.idea/**/dictionaries -**/.idea/**/dynamic.xml -**/.idea/**/gradle.xml -**/.idea/**/libraries -**/.idea/**/shelf -**/.idea/**/sqlDataSources.xml -**/.idea/**/tasks.xml -**/.idea/**/uiDesigner.xml -**/.idea/**/usage.statistics.xml -**/.idea/**/workspace.xml -**/*.class -/bin -/build -/deploy -/dist -/gen -/gradle.properties -/local.properties -/out -/proguard-project.txt -/project.properties -/target -/test-output +*.tar.gz +*.war +*.zip +atlassian-ide-plugin.xml +bin/ +build/ +cmake-build-*/ +com_crashlytics_export_strings.xml +crashlytics-build.properties +crashlytics.properties +dependency-reduced-pom.xml +deploy/ +dist/ ehthumbs.db +fabric.properties +gen/ +gradle.properties +hs_err_pid* kobaltBuild +kobaltw*-test +lib/kotlin* +libs/ +local.properties +out/ +pom.xml.next +pom.xml.releaseBackup +pom.xml.tag +pom.xml.versionsBackup +proguard-project.txt +project.properties +release.properties +target/ +test-output Thumbs.db diff --git a/examples/annotation-processor/java/.gitignore b/examples/annotation-processor/java/.gitignore index e6a12e2..a78c5c2 100644 --- a/examples/annotation-processor/java/.gitignore +++ b/examples/annotation-processor/java/.gitignore @@ -1,30 +1,82 @@ -**/.idea/dictionaries -**/.idea/gradle.xml -**/.idea/libraries -**/.idea/tasks.xml -**/.idea/workspace.xml -**/src/*.class -*.sublime-* -*.iws +!.vscode/extensions.json +!.vscode/launch.json +!.vscode/settings.json +!.vscode/tasks.json +!gradle-wrapper.jar .classpath .DS_Store .gradle +.history +.idea_modules/ +.idea/**/contentModel.xml +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/dataSources/ +.idea/**/dbnavigator.xml +.idea/**/dictionaries +.idea/**/dynamic.xml +.idea/**/gradle.xml +.idea/**/libraries +.idea/**/mongoSettings.xml +.idea/**/shelf +.idea/**/sqlDataSources.xml +.idea/**/tasks.xml +.idea/**/uiDesigner.xml +.idea/**/usage.statistics.xml +.idea/**/workspace.xml +.idea/caches/build_file_checksums.ser +.idea/httpRequests +.idea/replstate.xml .kobalt +.mtj.tmp/ +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar .nb-gradle .project +.scannerwork .settings -/bin -/build -/deploy -/dist -/gen -/gradle.properties -/local.properties -/out -/proguard-project.txt -/project.properties -/target -/test-output +.vscode/* +*.class +*.code-workspace +*.ctxt +*.ear +*.iws +*.jar +*.log +*.nar +*.rar +*.sublime-* +*.tar.gz +*.war +*.zip +atlassian-ide-plugin.xml +bin/ +build/ +cmake-build-*/ +com_crashlytics_export_strings.xml +crashlytics-build.properties +crashlytics.properties +dependency-reduced-pom.xml +deploy/ +dist/ ehthumbs.db +fabric.properties +gen/ +gradle.properties +hs_err_pid* kobaltBuild -Thumbs.db \ No newline at end of file +kobaltw*-test +lib/kotlin* +libs/ +local.properties +out/ +pom.xml.next +pom.xml.releaseBackup +pom.xml.tag +pom.xml.versionsBackup +proguard-project.txt +project.properties +release.properties +target/ +test-output +Thumbs.db diff --git a/examples/annotation-processor/kotlin/.gitignore b/examples/annotation-processor/kotlin/.gitignore index 4cfd6f0..a78c5c2 100644 --- a/examples/annotation-processor/kotlin/.gitignore +++ b/examples/annotation-processor/kotlin/.gitignore @@ -1,31 +1,82 @@ +!.vscode/extensions.json +!.vscode/launch.json +!.vscode/settings.json +!.vscode/tasks.json +!gradle-wrapper.jar .classpath .DS_Store .gradle +.history +.idea_modules/ +.idea/**/contentModel.xml +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/dataSources/ +.idea/**/dbnavigator.xml +.idea/**/dictionaries +.idea/**/dynamic.xml +.idea/**/gradle.xml +.idea/**/libraries +.idea/**/mongoSettings.xml +.idea/**/shelf +.idea/**/sqlDataSources.xml +.idea/**/tasks.xml +.idea/**/uiDesigner.xml +.idea/**/usage.statistics.xml +.idea/**/workspace.xml +.idea/caches/build_file_checksums.ser +.idea/httpRequests +.idea/replstate.xml .kobalt +.mtj.tmp/ +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar .nb-gradle .project +.scannerwork .settings +.vscode/* +*.class +*.code-workspace +*.ctxt +*.ear *.iws +*.jar +*.log +*.nar +*.rar *.sublime-* -**/.idea/dictionaries -**/.idea/gradle.xml -**/.idea/libraries -**/.idea/tasks.xml -**/.idea/workspace.xml -/bin -/build -/deploy -/dist -/gen -/lib/kotlin* -/libs -/local.properties -/out -/proguard-project.txt -/project.properties -/target -/test-output +*.tar.gz +*.war +*.zip +atlassian-ide-plugin.xml +bin/ +build/ +cmake-build-*/ +com_crashlytics_export_strings.xml +crashlytics-build.properties +crashlytics.properties +dependency-reduced-pom.xml +deploy/ +dist/ ehthumbs.db +fabric.properties +gen/ +gradle.properties +hs_err_pid* kobaltBuild kobaltw*-test +lib/kotlin* +libs/ +local.properties +out/ +pom.xml.next +pom.xml.releaseBackup +pom.xml.tag +pom.xml.versionsBackup +proguard-project.txt +project.properties +release.properties +target/ +test-output Thumbs.db diff --git a/examples/java/.gitignore b/examples/java/.gitignore index 722fba3..a78c5c2 100644 --- a/examples/java/.gitignore +++ b/examples/java/.gitignore @@ -1,30 +1,82 @@ -**/.idea/dictionaries -**/.idea/gradle.xml -**/.idea/libraries -**/.idea/tasks.xml -**/.idea/workspace.xml -**/src/*.class -*.iws -*.sublime-* +!.vscode/extensions.json +!.vscode/launch.json +!.vscode/settings.json +!.vscode/tasks.json +!gradle-wrapper.jar .classpath .DS_Store .gradle +.history +.idea_modules/ +.idea/**/contentModel.xml +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/dataSources/ +.idea/**/dbnavigator.xml +.idea/**/dictionaries +.idea/**/dynamic.xml +.idea/**/gradle.xml +.idea/**/libraries +.idea/**/mongoSettings.xml +.idea/**/shelf +.idea/**/sqlDataSources.xml +.idea/**/tasks.xml +.idea/**/uiDesigner.xml +.idea/**/usage.statistics.xml +.idea/**/workspace.xml +.idea/caches/build_file_checksums.ser +.idea/httpRequests +.idea/replstate.xml .kobalt +.mtj.tmp/ +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar .nb-gradle .project +.scannerwork .settings -/bin -/build -/deploy -/dist -/gen -/gradle.properties -/local.properties -/out -/proguard-project.txt -/project.properties -/target -/test-output +.vscode/* +*.class +*.code-workspace +*.ctxt +*.ear +*.iws +*.jar +*.log +*.nar +*.rar +*.sublime-* +*.tar.gz +*.war +*.zip +atlassian-ide-plugin.xml +bin/ +build/ +cmake-build-*/ +com_crashlytics_export_strings.xml +crashlytics-build.properties +crashlytics.properties +dependency-reduced-pom.xml +deploy/ +dist/ ehthumbs.db +fabric.properties +gen/ +gradle.properties +hs_err_pid* kobaltBuild -Thumbs.db \ No newline at end of file +kobaltw*-test +lib/kotlin* +libs/ +local.properties +out/ +pom.xml.next +pom.xml.releaseBackup +pom.xml.tag +pom.xml.versionsBackup +proguard-project.txt +project.properties +release.properties +target/ +test-output +Thumbs.db diff --git a/examples/kotlin/.gitignore b/examples/kotlin/.gitignore index 6322c7f..a78c5c2 100644 --- a/examples/kotlin/.gitignore +++ b/examples/kotlin/.gitignore @@ -1,29 +1,82 @@ -**/.idea/dictionaries -**/.idea/gradle.xml -**/.idea/libraries -**/.idea/tasks.xml -**/.idea/workspace.xml -*.sublime-* -*.iws +!.vscode/extensions.json +!.vscode/launch.json +!.vscode/settings.json +!.vscode/tasks.json +!gradle-wrapper.jar .classpath .DS_Store .gradle +.history +.idea_modules/ +.idea/**/contentModel.xml +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/dataSources/ +.idea/**/dbnavigator.xml +.idea/**/dictionaries +.idea/**/dynamic.xml +.idea/**/gradle.xml +.idea/**/libraries +.idea/**/mongoSettings.xml +.idea/**/shelf +.idea/**/sqlDataSources.xml +.idea/**/tasks.xml +.idea/**/uiDesigner.xml +.idea/**/usage.statistics.xml +.idea/**/workspace.xml +.idea/caches/build_file_checksums.ser +.idea/httpRequests +.idea/replstate.xml .kobalt +.mtj.tmp/ +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar .nb-gradle .project +.scannerwork .settings -/bin -/build -/deploy -/dist -/gen -/gradle.properties -/local.properties -/out -/proguard-project.txt -/project.properties -/target -/test-output +.vscode/* +*.class +*.code-workspace +*.ctxt +*.ear +*.iws +*.jar +*.log +*.nar +*.rar +*.sublime-* +*.tar.gz +*.war +*.zip +atlassian-ide-plugin.xml +bin/ +build/ +cmake-build-*/ +com_crashlytics_export_strings.xml +crashlytics-build.properties +crashlytics.properties +dependency-reduced-pom.xml +deploy/ +dist/ ehthumbs.db +fabric.properties +gen/ +gradle.properties +hs_err_pid* kobaltBuild -Thumbs.db \ No newline at end of file +kobaltw*-test +lib/kotlin* +libs/ +local.properties +out/ +pom.xml.next +pom.xml.releaseBackup +pom.xml.tag +pom.xml.versionsBackup +proguard-project.txt +project.properties +release.properties +target/ +test-output +Thumbs.db diff --git a/examples/test/.gitignore b/examples/test/.gitignore index 7de13c3..4d64aee 100644 --- a/examples/test/.gitignore +++ b/examples/test/.gitignore @@ -1,31 +1,83 @@ -**/.idea/dictionaries -**/.idea/gradle.xml -**/.idea/libraries -**/.idea/tasks.xml -**/.idea/workspace.xml -**/src/*.class -*.iws -*.properties -*.sublime-* +!.vscode/extensions.json +!.vscode/launch.json +!.vscode/settings.json +!.vscode/tasks.json +!gradle-wrapper.jar .classpath .DS_Store .gradle +.history +.idea_modules/ +.idea/**/contentModel.xml +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/dataSources/ +.idea/**/dbnavigator.xml +.idea/**/dictionaries +.idea/**/dynamic.xml +.idea/**/gradle.xml +.idea/**/libraries +.idea/**/mongoSettings.xml +.idea/**/shelf +.idea/**/sqlDataSources.xml +.idea/**/tasks.xml +.idea/**/uiDesigner.xml +.idea/**/usage.statistics.xml +.idea/**/workspace.xml +.idea/caches/build_file_checksums.ser +.idea/httpRequests +.idea/replstate.xml .kobalt +.mtj.tmp/ +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar .nb-gradle .project +.scannerwork .settings -/bin -/build -/deploy -/dist -/gen -/gradle.properties -/local.properties -/out -/proguard-project.txt -/project.properties -/target -/test-output +.vscode/* +*.class +*.code-workspace +*.ctxt +*.ear +*.iws +*.jar +*.log +*.nar +*.rar +*.sublime-* +*.tar.gz +*.war +*.zip +atlassian-ide-plugin.xml +bin/ +build/ +cmake-build-*/ +com_crashlytics_export_strings.xml +crashlytics-build.properties +crashlytics.properties +dependency-reduced-pom.xml +deploy/ +dist/ ehthumbs.db +fabric.properties +gen/ +gradle.properties +hs_err_pid* kobaltBuild -Thumbs.db \ No newline at end of file +kobaltw*-test +lib/kotlin* +libs/ +local.properties +out/ +pom.xml.next +pom.xml.releaseBackup +pom.xml.tag +pom.xml.versionsBackup +proguard-project.txt +project.properties +release.properties +target/ +test-output +Thumbs.db +version.properties From a729d3a87cbcbf2d039416673e291bbe3c728a76 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 19 Apr 2019 00:09:03 -0700 Subject: [PATCH 119/155] Ensured only positive int in major, minor and patch. --- src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index bc65041..e6e1489 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -138,17 +138,17 @@ object Utils { try { // major if (start != -1) { - major = semver.substring(0, start).toInt() + major = Math.abs(semver.substring(0, start).toInt()) semver.delete(0, start + major.length()) start = semver.indexOf(version.separator) // minor if (start != -1) { - minor = semver.substring(0, start).toInt() + minor = Math.abs(semver.substring(0, start).toInt()) semver = semver.delete(0, start + minor.length()) start = semver.indexOf(version.preReleasePrefix) // patch if (start != -1) { - patch = semver.substring(0, start).toInt() + patch = Math.abs(semver.substring(0, start).toInt()) semver.delete(0, start + minor.length()) start = semver.lastIndexOf(version.buildMetaPrefix) // pre-release @@ -169,11 +169,13 @@ object Utils { } else if (semver.isNotEmpty()) { // no pre-release start = semver.lastIndexOf(version.buildMetaPrefix) + // patch & build meta if (start != -1) { patch = semver.substring(0, start).toInt() semver.delete(0, start + minor.length()) buildMeta = semver.toString() } else { + // patch patch = semver.toString().toInt() } semver.clear() From a6b5cd6420e65c758e39432e1b780d7286fae988 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 19 Apr 2019 00:09:52 -0700 Subject: [PATCH 120/155] Cleanup --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f70f261..805dc0e 100644 --- a/README.md +++ b/README.md @@ -116,8 +116,8 @@ The `major`, `minor`, `patch`, `prerelease` and `buildmeta` versions can also be version.major=1 version.minor=0 version.patch=0 -version.prerelease= -version.buildmeta=beta +version.prerelease=beta +version.buildmeta= version.semver=1.0.0-beta ``` @@ -149,7 +149,7 @@ Property | Description | Default The version number is built as follows: -`version.major` `version.separtor` `version.minor` `version.separator` `version.patch` `[` `version.prerelease.prefix` `version.prerelease` `]` `[` `version.prerelease.prefix` `version.buildmeta` `]` +`version.major` `version.separator` `version.minor` `version.separator` `version.patch` `[` `version.prerelease.prefix` `version.prerelease` `]` `[` `version.prerelease.prefix` `version.buildmeta` `]` For reference, it is automatically included in the `version.semver` property. @@ -162,7 +162,7 @@ version.minor=0 version.patch=0 version.prerelease=beta version.buildmeta=exp.sha.5114f85 -version.sevmer=1.0.0-beta+exp.sha.5114f85 +version.semver=1.0.0-beta+exp.sha.5114f85 ``` `project.version` will be `1.0.0-beta+exp.sha.5114f85` in Gradle. @@ -187,6 +187,7 @@ or using different property keys for the version data: ```gradle semver { keysPrefix = "" // no prefix + semverKey = "version" majorKey = "maj" minorKey = "min" patchKey = "build" @@ -203,7 +204,7 @@ min=0 build=0 rel=beta meta= -semver=1.0.0-beta +version=1.0.0-beta ``` The following `semver` properties are available: @@ -211,6 +212,7 @@ The following `semver` properties are available: Property | Description | Default :---------------------|:----------------------------------------|:--------------------------- `properties` | The properties file. | `version.properties` +`semverKey` | The semver property key. | `version.semver` `majorKey` | The major property key. | `version.major` `minorKey` | The minor property key. | `version.minor` `patchKey` | The patch property key. | `version.patch` From 2d2e8a2acafcc3461dcc74a94e97d1acaf91085a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 23 Apr 2019 12:05:29 -0700 Subject: [PATCH 121/155] Pre-1.0.0 release cleanup. --- .../annotation-processor/java/build.gradle | 2 +- .../java/com/example/GeneratedVersion.java | 59 ++----------------- .../java/version.properties | 4 +- .../annotation-processor/kotlin/.gitignore | 1 - .../kotlin/build.gradle.kts | 8 ++- .../kotlin/gradle.properties | 2 +- .../kotlin/version.properties | 6 +- examples/java/version.properties | 4 +- examples/kotlin/version.properties | 4 +- examples/test/build.gradle | 11 ++-- preflightcheck.sh | 10 ++-- version.properties | 8 --- 12 files changed, 31 insertions(+), 88 deletions(-) delete mode 100644 version.properties diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index fe32be4..74eb072 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -16,7 +16,7 @@ defaultTasks 'run' compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated/java") -def semverProcessor = "net.thauvin.erik:semver:1.1.1" +def semverProcessor = "net.thauvin.erik:semver:1.2.0" dependencies { annotationProcessor semverProcessor diff --git a/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java index 0a8bf0a..da0842c 100644 --- a/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java @@ -12,22 +12,17 @@ import java.util.Date; * @author Semantic Version Annotation Processor */ public final class GeneratedVersion { - public final static String PROJECT = "Java Annotation Example"; - public final static Date BUILDDATE = new Date(1554530172611L); + public final static String PROJECT = "Java Example"; + public final static Date BUILDDATE = new Date(1556045173358L); public final static int MAJOR = 2; - public final static int MINOR = 4; + public final static int MINOR = 8; public final static int PATCH = 0; public final static String PRERELEASE = ""; public final static String PRERELEASE_PREFIX = "-"; public final static String BUILDMETA = ""; public final static String BUILDMETA_PREFIX = "+"; public final static String SEPARATOR = "."; - - /** - * The full semantic version string. - */ - public final static String VERSION = Integer.toString(MAJOR) + SEPARATOR + Integer.toString(MINOR) + SEPARATOR - + Integer.toString(PATCH) + preReleaseWithPrefix() + buildMetaWithPrefix(); + public final static String VERSION = "2.8.0"; /** * Disables the default constructor. @@ -35,50 +30,4 @@ public final class GeneratedVersion { private GeneratedVersion() { throw new UnsupportedOperationException("Illegal constructor call."); } - - /** - * Returns the build metadata with {@value #BUILDMETA_PREFIX} prefix. - * - * @return The build metadata, if any. - */ - public static String buildMetaWithPrefix() { - return buildMetaWithPrefix(BUILDMETA_PREFIX); - } - - /** - * Returns the build metadata. - * - * @param prefix Prefix to prepend. - * @return The build metadata, if any. - */ - public static String buildMetaWithPrefix(final String prefix) { - if (BUILDMETA.length() > 0) { - return prefix + BUILDMETA; - } else { - return BUILDMETA; - } - } - - /** - * Returns the pre-release version with {@value #PRERELEASE_PREFIX} prefix. - * - * @return The pre-release version, if any. - */ - public static String preReleaseWithPrefix() { - return preReleaseWithPrefix(PRERELEASE_PREFIX); - } - - /** - * Returns the pre-release version. - * - * @param prefix The prefix to prepend. - * @return The pre-release version, if any. - */ - public static String preReleaseWithPrefix(final String prefix) { - if (PRERELEASE.length() > 0) { - return prefix + PRERELEASE; - } else { - return PRERELEASE; - } - } } diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index 80864e3..a2c1662 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Mon Apr 15 12:20:10 PDT 2019 +#Tue Apr 23 11:46:10 PDT 2019 version.buildmeta= version.major=2 -version.minor=7 +version.minor=8 version.patch=0 version.prerelease= version.project=Java Example diff --git a/examples/annotation-processor/kotlin/.gitignore b/examples/annotation-processor/kotlin/.gitignore index a78c5c2..638960b 100644 --- a/examples/annotation-processor/kotlin/.gitignore +++ b/examples/annotation-processor/kotlin/.gitignore @@ -62,7 +62,6 @@ dist/ ehthumbs.db fabric.properties gen/ -gradle.properties hs_err_pid* kobaltBuild kobaltw*-test diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index 190313f..2b688e4 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -13,7 +13,7 @@ plugins { defaultTasks(ApplicationPlugin.TASK_RUN_NAME) -var semverProcessor = "net.thauvin.erik:semver:1.1.1" +var semverProcessor = "net.thauvin.erik:semver:1.2.0" dependencies { kapt(semverProcessor) @@ -31,6 +31,12 @@ application { mainClassName = "com.example.Main" } +kapt { + arguments { + arg("semver.project.dir", projectDir) + } +} + tasks { "run"(JavaExec::class) { doFirst { diff --git a/examples/annotation-processor/kotlin/gradle.properties b/examples/annotation-processor/kotlin/gradle.properties index 170c210..93cd554 100644 --- a/examples/annotation-processor/kotlin/gradle.properties +++ b/examples/annotation-processor/kotlin/gradle.properties @@ -1 +1 @@ -kapt.use.worker.api=true +#kapt.use.worker.api=true diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index 4dce255..f7d4a9d 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Mon Apr 15 13:44:40 PDT 2019 +#Tue Apr 23 11:46:40 PDT 2019 version.buildmeta= -version.major=11 -version.minor=10 +version.major=14 +version.minor=1 version.patch=0 version.prerelease= version.project=Kotlin Example diff --git a/examples/java/version.properties b/examples/java/version.properties index bcee704..3f24455 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,6 +1,6 @@ #Generated by the Semver Plugin for Gradle -#Mon Apr 15 19:06:46 PDT 2019 -version.buildmeta=20190415190646 +#Tue Apr 23 11:43:18 PDT 2019 +version.buildmeta=20190423114318 version.major=1 version.minor=1 version.patch=8 diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 94dd37d..325a878 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,6 +1,6 @@ #Generated by the Semver Plugin for Gradle -#Mon Apr 15 12:45:13 PDT 2019 -version.buildmeta=20190415124513 +#Tue Apr 23 11:45:33 PDT 2019 +version.buildmeta=20190423114533 version.major=1 version.minor=2 version.patch=4 diff --git a/examples/test/build.gradle b/examples/test/build.gradle index 2b1e5d3..65879f0 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -1,8 +1,3 @@ -// plugins { -// id 'java' -// id 'application' -// id "net.thauvin.erik.gradle.semver" version "0.9.4-beta" -// } buildscript { repositories { mavenLocal() @@ -22,11 +17,15 @@ version = 1.0 def f = new File("version.properties") -dependencies { +def semverProcessor = 'net.thauvin.erik:semver:1.2.0' +dependencies { + annotationProcessor semverProcessor + compileOnly semverProcessor } repositories { + mavenLocal() jcenter() } diff --git a/preflightcheck.sh b/preflightcheck.sh index fdf6a88..27af677 100644 --- a/preflightcheck.sh +++ b/preflightcheck.sh @@ -1,9 +1,5 @@ #!/bin/bash -# -# Version: 1.1.1 -# - # set source and test locations src="src/main/kotlin/net/thauvin/erik/gradle/semver/" test="src/main/kotlin/net/thauvin/erik/gradle/semver/" @@ -25,7 +21,9 @@ gradle_opts="--console=plain --no-build-cache --no-daemon" # maven arguments for examples maven_args="compile exec:java" -### +# +# Version: 1.1.2 +# if [ "$java8" = true ] then @@ -109,7 +107,7 @@ checkDeps() { runGradle $(echo "${examples[ex]}" | cut -d " " -f 1) dU runKobalt $(echo "${examples[ex]}" | cut -d " " -f 1) checkVersions runMaven $(echo "${examples[ex]}" | cut -d " " -f 1) versions:display-dependency-updates - if [ "$ex" -eq "${#examples}"] + if [ "$ex" -eq "${#examples}" ] then read -p "Continue? [y/n]: " cont clear diff --git a/version.properties b/version.properties deleted file mode 100644 index ec9fc12..0000000 --- a/version.properties +++ /dev/null @@ -1,8 +0,0 @@ -#Generated by the Semver Plugin for Gradle -#Thu Apr 11 17:57:36 PDT 2019 -version.buildmeta= -version.major=1 -version.minor=0 -version.patch=0 -version.prerelease= -version.semver=1.0.0 From 6634ab3baf2192f80cc71c86db2405150eff8962 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 23 Apr 2019 13:37:16 -0700 Subject: [PATCH 122/155] Added changelog. --- CHANGELOG.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f8e4f59 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,44 @@ +# Change Log + +## [1.0.0](https://github.com/ethauvin/semver-gradle/tree/1.0.0) (2019-04-23) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/0.9.9-beta...1.0.0) + +**Implemented enhancements:** + +- Optionally save version properties [\#1](https://github.com/ethauvin/semver-gradle/issues/1) +- Set prerelease from commandline [\#3](https://github.com/ethauvin/semver-gradle/issues/3) + +**Merged pull requests:** + +- Extended existing tests to include semver property [\#5](https://github.com/ethauvin/semver-gradle/pull/5) ([rveede](https://github.com/rveede)) +- Include full semver version in version.properties [\#4](https://github.com/ethauvin/semver-gradle/pull/4) ([rveede](https://github.com/rveede)) + +## [0.9.9-beta](https://github.com/ethauvin/semver-gradle/tree/0.9.9-beta) (2018-12-20) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/0.9.8-beta...0.9.9-beta) + +**Merged pull requests:** + +- Add option for disabling saves every project evaluation [\#2](https://github.com/ethauvin/semver-gradle/pull/2) ([lewismorgan](https://github.com/lewismorgan)) + +## [0.9.8-beta](https://github.com/ethauvin/semver-gradle/tree/0.9.8-beta) (2018-07-14) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/0.9.7-beta...0.9.8-beta) + +## [0.9.7-beta](https://github.com/ethauvin/semver-gradle/tree/0.9.7-beta) (2018-07-13) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/0.9.6-beta...0.9.7-beta) + +## [0.9.6-beta](https://github.com/ethauvin/semver-gradle/tree/0.9.6-beta) (2018-07-10) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/0.9.5-beta...0.9.6-beta) + +## [0.9.5-beta](https://github.com/ethauvin/semver-gradle/tree/0.9.5-beta) (2018-07-07) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/0.9.4-beta...0.9.5-beta) + +## [0.9.4-beta](https://github.com/ethauvin/semver-gradle/tree/0.9.4-beta) (2018-07-03) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/0.9.3-beta...0.9.4-beta) + +## [0.9.3-beta](https://github.com/ethauvin/semver-gradle/tree/0.9.3-beta) (2018-07-02) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/0.9.2-beta...0.9.3-beta) + +## [0.9.2-beta](https://github.com/ethauvin/semver-gradle/tree/0.9.2-beta) (2018-07-01) + + +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file From 617c0b89acf1ac228868ddc7881dfdc9413e4302 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 23 Apr 2019 17:13:28 -0700 Subject: [PATCH 123/155] Updated examples for 1.0.0. --- examples/annotation-processor/java/build.gradle | 2 +- .../src/generated/java/com/example/GeneratedVersion.java | 6 +++--- examples/annotation-processor/java/version.properties | 5 +++-- examples/annotation-processor/kotlin/build.gradle.kts | 2 +- examples/annotation-processor/kotlin/version.properties | 5 +++-- examples/java/build.gradle | 2 +- examples/java/version.properties | 5 +++-- examples/kotlin/build.gradle.kts | 2 +- examples/kotlin/version.properties | 5 +++-- 9 files changed, 19 insertions(+), 15 deletions(-) diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 74eb072..c888202 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id 'net.thauvin.erik.gradle.semver' version '0.9.9-beta' + id 'net.thauvin.erik.gradle.semver' version '1.0.0' id 'com.github.ben-manes.versions' version '0.21.0' } diff --git a/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java index da0842c..19aa5c6 100644 --- a/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java @@ -13,16 +13,16 @@ import java.util.Date; */ public final class GeneratedVersion { public final static String PROJECT = "Java Example"; - public final static Date BUILDDATE = new Date(1556045173358L); + public final static Date BUILDDATE = new Date(1556062927242L); public final static int MAJOR = 2; - public final static int MINOR = 8; + public final static int MINOR = 9; public final static int PATCH = 0; public final static String PRERELEASE = ""; public final static String PRERELEASE_PREFIX = "-"; public final static String BUILDMETA = ""; public final static String BUILDMETA_PREFIX = "+"; public final static String SEPARATOR = "."; - public final static String VERSION = "2.8.0"; + public final static String VERSION = "2.9.0"; /** * Disables the default constructor. diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index a2c1662..29ed47a 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,8 +1,9 @@ #Generated by the Semver Plugin for Gradle -#Tue Apr 23 11:46:10 PDT 2019 +#Tue Apr 23 16:42:04 PDT 2019 version.buildmeta= version.major=2 -version.minor=8 +version.minor=9 version.patch=0 version.prerelease= version.project=Java Example +version.semver=2.9.0 diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index 2b688e4..d4e2bb3 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -2,7 +2,7 @@ plugins { kotlin("jvm").version("1.3.30") application id("org.jetbrains.kotlin.kapt").version("1.3.30") - id("net.thauvin.erik.gradle.semver").version("0.9.9-beta") + id("net.thauvin.erik.gradle.semver").version("1.0.0") id("com.github.ben-manes.versions").version("0.21.0") } diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index f7d4a9d..0c32b5e 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,8 +1,9 @@ #Generated by the Semver Plugin for Gradle -#Tue Apr 23 11:46:40 PDT 2019 +#Tue Apr 23 16:42:52 PDT 2019 version.buildmeta= version.major=14 -version.minor=1 +version.minor=2 version.patch=0 version.prerelease= version.project=Kotlin Example +version.semver=14.2.0 diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 7bc9f49..86321ed 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id 'net.thauvin.erik.gradle.semver' version '0.9.9-beta' + id 'net.thauvin.erik.gradle.semver' version '1.0.0' id 'com.github.ben-manes.versions' version '0.21.0' } diff --git a/examples/java/version.properties b/examples/java/version.properties index 3f24455..63d6e86 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,7 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Tue Apr 23 11:43:18 PDT 2019 -version.buildmeta=20190423114318 +#Tue Apr 23 16:37:45 PDT 2019 +version.buildmeta=20190423163745 version.major=1 version.minor=1 version.patch=8 version.prerelease=alpha +version.semver=1.1.8-alpha+20190423163745 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 1a0a06f..a4f2a2f 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -6,7 +6,7 @@ import java.time.format.DateTimeFormatter plugins { kotlin("jvm").version("1.3.30") application - id("net.thauvin.erik.gradle.semver").version("0.9.9-beta") + id("net.thauvin.erik.gradle.semver").version("1.0.0") id("com.github.ben-manes.versions").version("0.21.0") } diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 325a878..67e57ae 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,7 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Tue Apr 23 11:45:33 PDT 2019 -version.buildmeta=20190423114533 +#Tue Apr 23 16:38:50 PDT 2019 +version.buildmeta=20190423163850 version.major=1 version.minor=2 version.patch=4 version.prerelease=beta +version.semver=1.2.4-beta+20190423163850 From e47f762a6f50587ebbf4ee701bc675723d8e05cc Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 23 Apr 2019 17:14:01 -0700 Subject: [PATCH 124/155] 1.1.3 --- preflightcheck.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/preflightcheck.sh b/preflightcheck.sh index 27af677..f95e229 100644 --- a/preflightcheck.sh +++ b/preflightcheck.sh @@ -22,7 +22,7 @@ gradle_opts="--console=plain --no-build-cache --no-daemon" maven_args="compile exec:java" # -# Version: 1.1.2 +# Version: 1.1.3 # if [ "$java8" = true ] @@ -102,6 +102,7 @@ checkDeps() { read -p "Check Examples depencencies? [y/n] " cont clear case $cont in + [Nn] ) return ;; * ) for ex in "${!examples[@]}" do runGradle $(echo "${examples[ex]}" | cut -d " " -f 1) dU @@ -117,7 +118,6 @@ checkDeps() { esac fi done ;; - [Nn] ) return ;; esac } @@ -191,7 +191,7 @@ showMenu() { echo " 6. Check Everything" } -readOptions(){ +readOptions() { local choice read -p "Enter choice [1-6]: " choice case $choice in From 6081bdfdd5178dee52f49f00ed7905f86b049cbf Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 24 May 2019 01:03:30 -0700 Subject: [PATCH 125/155] Added the Gradle project directory as the configuration properties file location. Closes #6 --- .idea/checkstyle-idea.xml | 16 +++++++++ build.gradle.kts | 20 ++++++----- gradle/wrapper/gradle-wrapper.properties | 2 +- .../erik/gradle/semver/SemverPlugin.kt | 6 +++- .../net/thauvin/erik/gradle/semver/Utils.kt | 8 ++--- .../thauvin/erik/gradle/semver/UtilsSpec.kt | 33 +++++++++++++++++++ 6 files changed, 70 insertions(+), 15 deletions(-) create mode 100644 .idea/checkstyle-idea.xml diff --git a/.idea/checkstyle-idea.xml b/.idea/checkstyle-idea.xml new file mode 100644 index 0000000..95c433c --- /dev/null +++ b/.idea/checkstyle-idea.xml @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 6c68d39..8839bbd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,20 +6,20 @@ plugins { `maven-publish` jacoco id("com.github.ben-manes.versions") version "0.21.0" - id("com.gradle.build-scan") version "2.2.1" + id("com.gradle.build-scan") version "2.3" id("com.gradle.plugin-publish") version "0.10.1" id("io.gitlab.arturbosch.detekt") version "1.0.0-RC14" - id("org.jlleitschuh.gradle.ktlint") version "7.3.0" - id("org.sonarqube") version "2.7" + id("org.jmailen.kotlinter") version "1.25.2" + id("org.sonarqube") version "2.7.1" } -version = "1.0.0" +version = "1.0.1" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" var packageName = "net.thauvin.erik.gradle.semver" -var spek_version = "2.0.2" +var spek_version = "2.0.5" repositories { jcenter() @@ -56,10 +56,6 @@ tasks { } } - "check" { - dependsOn("ktlintCheck") - } - "sonarqube" { dependsOn("jacocoTestReport") } @@ -81,6 +77,12 @@ detekt { baseline = project.rootDir.resolve("detekt-baseline.xml") } +kotlinter { + ignoreFailures = false + reporters = arrayOf("html") + experimentalRules = false +} + sonarqube { properties { property("sonar.projectName", "semver-gradle") diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5f1b120..f4d7b2b 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-5.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index 0508fc7..a6dca00 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -59,7 +59,11 @@ class SemverPlugin : Plugin { } private fun afterEvaluate(project: Project) { - val propsFile = File(config.properties) + val propsFile = if (File(config.properties).isAbsolute) { + File(config.properties) + } else { + File("${project.projectDir}${File.separator}${config.properties}") + } if (project.version != "unspecified") { project.logger.warn( diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index e6e1489..c4da2b1 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -70,12 +70,12 @@ object Utils { var isNew = false val props = Properties() file.apply { - if (!exists()) { - if (!createNewFile()) { - throw GradleException("Unable to create: `$absoluteFile`") - } else { + try { + if (!exists() && createNewFile()) { isNew = true } + } catch (e: Exception) { + throw GradleException("Unable to create: `$absoluteFile`", e) } if (canReadFile()) { FileInputStream(this).reader().use { reader -> diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 698ab7f..018c2b0 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -32,11 +32,13 @@ package net.thauvin.erik.gradle.semver import net.thauvin.erik.gradle.semver.Utils.canReadFile +import org.gradle.api.GradleException import org.spekframework.spek2.Spek import org.spekframework.spek2.style.gherkin.Feature import java.io.File import java.util.Properties import kotlin.test.assertEquals +import kotlin.test.assertFailsWith import kotlin.test.assertNull import kotlin.test.assertTrue @@ -46,6 +48,7 @@ object UtilsSpec : Spek({ val version = Version() val config = SemverConfig() val propsFile = File("test.properties") + val propsLocked = File("locked.properties") lateinit var props: Properties Scenario("Save/Load Properties") { @@ -167,5 +170,35 @@ object UtilsSpec : Spek({ assertEquals(version.buildMeta, "007") } } + + Scenario("Save to locked properties") { + Given("the locked properties") { + propsLocked.createNewFile() + propsLocked.setReadOnly() + config.properties = propsLocked.name + } + + Then("saving the locked properties file") { + assertFailsWith { + Utils.saveProperties(config, version) + } + propsLocked.delete() + } + } + + Scenario("Load locked properties") { + lateinit var locked: File + + Given("the locked location") { + locked = File("locked") + } + + Then("loading locked properties") { + assertFailsWith { + Utils.loadProperties(File(locked, propsLocked.name)) + } + locked.delete() + } + } } }) From 4efc2ba2d62ae6e95d25588bd2b7c0559be79a01 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 24 May 2019 01:13:41 -0700 Subject: [PATCH 126/155] Updated the examples. --- .../annotation-processor/java/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../kotlin/build.gradle.kts | 4 +-- .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/java/build.gradle | 2 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/java/version.properties | 6 ++-- examples/kotlin/build.gradle.kts | 4 +-- .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/kotlin/version.properties | 6 ++-- examples/test/build.gradle | 4 +-- examples/test/locked | 0 examples/test/locked.properties | 8 +++++ examples/version.properties | 8 +++++ .../thauvin/erik/gradle/semver/UtilsSpec.kt | 33 ++++++++++--------- 15 files changed, 51 insertions(+), 34 deletions(-) create mode 100644 examples/test/locked create mode 100644 examples/test/locked.properties create mode 100644 examples/version.properties diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index c888202..4fae1e3 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id 'net.thauvin.erik.gradle.semver' version '1.0.0' + id 'net.thauvin.erik.gradle.semver' version '1.0.1' id 'com.github.ben-manes.versions' version '0.21.0' } diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties index 5f1b120..f4d7b2b 100644 --- a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index d4e2bb3..363fdbf 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -1,8 +1,8 @@ plugins { kotlin("jvm").version("1.3.30") application - id("org.jetbrains.kotlin.kapt").version("1.3.30") - id("net.thauvin.erik.gradle.semver").version("1.0.0") + id("org.jetbrains.kotlin.kapt").version("1.3.31") + id("net.thauvin.erik.gradle.semver").version("1.0.1") id("com.github.ben-manes.versions").version("0.21.0") } diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties index 5f1b120..f4d7b2b 100644 --- a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 86321ed..b6b7234 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id 'net.thauvin.erik.gradle.semver' version '1.0.0' + id 'net.thauvin.erik.gradle.semver' version '1.0.1' id 'com.github.ben-manes.versions' version '0.21.0' } diff --git a/examples/java/gradle/wrapper/gradle-wrapper.properties b/examples/java/gradle/wrapper/gradle-wrapper.properties index 5f1b120..f4d7b2b 100644 --- a/examples/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/java/version.properties b/examples/java/version.properties index 63d6e86..4a0739e 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Tue Apr 23 16:37:45 PDT 2019 -version.buildmeta=20190423163745 +#Fri May 24 01:11:52 PDT 2019 +version.buildmeta=20190524011152 version.major=1 version.minor=1 version.patch=8 version.prerelease=alpha -version.semver=1.1.8-alpha+20190423163745 +version.semver=1.1.8-alpha+20190524011152 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index a4f2a2f..d7ece1c 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -4,9 +4,9 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { - kotlin("jvm").version("1.3.30") + kotlin("jvm").version("1.3.31") application - id("net.thauvin.erik.gradle.semver").version("1.0.0") + id("net.thauvin.erik.gradle.semver").version("1.0.1") id("com.github.ben-manes.versions").version("0.21.0") } diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties index 5f1b120..f4d7b2b 100644 --- a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 67e57ae..42b96ca 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Tue Apr 23 16:38:50 PDT 2019 -version.buildmeta=20190423163850 +#Fri May 24 01:12:52 PDT 2019 +version.buildmeta=20190524011252 version.major=1 version.minor=2 version.patch=4 version.prerelease=beta -version.semver=1.2.4-beta+20190423163850 +version.semver=1.2.4-beta+20190524011252 diff --git a/examples/test/build.gradle b/examples/test/build.gradle index 65879f0..ba95d75 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -3,7 +3,7 @@ buildscript { mavenLocal() } dependencies { - classpath "net.thauvin.erik.gradle:semver:1.0.0" + classpath "net.thauvin.erik.gradle:semver:1.0.1" } } @@ -45,7 +45,7 @@ run { } semver { - properties = "$projectDir/${f.name}" + properties = "${f.name}" keysPrefix = f.name.substring(0, f.name.indexOf(".") + 1) buildMetaKey = "meta" semverKey = "fullversion" diff --git a/examples/test/locked b/examples/test/locked new file mode 100644 index 0000000..e69de29 diff --git a/examples/test/locked.properties b/examples/test/locked.properties new file mode 100644 index 0000000..03fc5bd --- /dev/null +++ b/examples/test/locked.properties @@ -0,0 +1,8 @@ +#Generated by the Semver Plugin for Gradle +#Fri Apr 19 13:31:37 PDT 2019 +version.fullversion=11.0.0-alpha+20190419133137 +version.major=11 +version.meta=20190419133137 +version.minor=0 +version.patch=0 +version.prerelease=alpha diff --git a/examples/version.properties b/examples/version.properties new file mode 100644 index 0000000..e60c0e6 --- /dev/null +++ b/examples/version.properties @@ -0,0 +1,8 @@ +#Generated by the Semver Plugin for Gradle +#Thu May 23 22:24:06 PDT 2019 +version.fullversion=1.0.0 +version.major=1 +version.meta= +version.minor=0 +version.patch=0 +version.prerelease= diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 018c2b0..2c787e7 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -48,7 +48,6 @@ object UtilsSpec : Spek({ val version = Version() val config = SemverConfig() val propsFile = File("test.properties") - val propsLocked = File("locked.properties") lateinit var props: Properties Scenario("Save/Load Properties") { @@ -171,8 +170,25 @@ object UtilsSpec : Spek({ } } + Scenario("Load locked properties") { + lateinit var locked: File + + Given("the locked location") { + locked = File("locked") + } + + Then("loading locked properties") { + assertFailsWith { + Utils.loadProperties(File(locked, propsFile.name)) + } + locked.delete() + } + } + Scenario("Save to locked properties") { + lateinit var propsLocked: File Given("the locked properties") { + propsLocked = File("locked.properties") propsLocked.createNewFile() propsLocked.setReadOnly() config.properties = propsLocked.name @@ -185,20 +201,5 @@ object UtilsSpec : Spek({ propsLocked.delete() } } - - Scenario("Load locked properties") { - lateinit var locked: File - - Given("the locked location") { - locked = File("locked") - } - - Then("loading locked properties") { - assertFailsWith { - Utils.loadProperties(File(locked, propsLocked.name)) - } - locked.delete() - } - } } }) From ffda5e3ad4c47d5071e6eb829f5fc221d678f195 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 24 May 2019 01:39:51 -0700 Subject: [PATCH 127/155] Updated changelog. --- CHANGELOG.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8e4f59..d661ee2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Change Log +## [1.0.1](https://github.com/ethauvin/semver-gradle/tree/1.0.1) (2019-05-24) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/1.0.0...1.0.1) + +**Implemented enhancements:** + +- version.properties write issue when using NetBeans on Windows. [\#6](https://github.com/ethauvin/semver-gradle/issues/6) + ## [1.0.0](https://github.com/ethauvin/semver-gradle/tree/1.0.0) (2019-04-23) [Full Changelog](https://github.com/ethauvin/semver-gradle/compare/0.9.9-beta...1.0.0) @@ -41,4 +48,4 @@ ## [0.9.2-beta](https://github.com/ethauvin/semver-gradle/tree/0.9.2-beta) (2018-07-01) -\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* From fa23243ff57f375afe254ede0a097c0b4b446ea9 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 24 May 2019 09:52:34 -0700 Subject: [PATCH 128/155] Closes #6 Impletemented Gradle project directory-aware getPropertiesFile() function for all loading/saving. --- .../semver/SemverIncrementBuildMetaTask.kt | 2 +- .../erik/gradle/semver/SemverIncrementTask.kt | 2 +- .../erik/gradle/semver/SemverPlugin.kt | 9 +-- .../net/thauvin/erik/gradle/semver/Utils.kt | 76 +++++++++++-------- .../thauvin/erik/gradle/semver/UtilsSpec.kt | 33 +++++++- 5 files changed, 78 insertions(+), 44 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt index a48e5d7..8a0628c 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementBuildMetaTask.kt @@ -59,7 +59,7 @@ open class SemverIncrementBuildMetaTask @Inject constructor( version.buildMeta = buildMeta project.version = version.semver logger.lifecycle("Version: ${project.version}") - Utils.saveProperties(config, version) + Utils.saveProperties(project.projectDir, config, version) } } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt index 090580f..24cb10c 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt @@ -57,6 +57,6 @@ open class SemverIncrementTask @Inject constructor( isPatch = type == SemverConfig.DEFAULT_PATCH_KEY) project.version = version.semver logger.lifecycle("Version: ${project.version}") - Utils.saveProperties(config, version) + Utils.saveProperties(project.projectDir, config, version) } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index a6dca00..d346cb7 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -36,7 +36,6 @@ import org.gradle.api.GradleException import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.util.GradleVersion -import java.io.File class SemverPlugin : Plugin { private val simpleName = SemverPlugin::class.simpleName @@ -59,11 +58,7 @@ class SemverPlugin : Plugin { } private fun afterEvaluate(project: Project) { - val propsFile = if (File(config.properties).isAbsolute) { - File(config.properties) - } else { - File("${project.projectDir}${File.separator}${config.properties}") - } + val propsFile = Utils.getPropertiesFile(project.projectDir, config.properties) if (project.version != "unspecified") { project.logger.warn( @@ -93,7 +88,7 @@ class SemverPlugin : Plugin { if (!hasReqProps || !isFile) { project.logger.info("[$simpleName] Saving version properties to `$absoluteFile`.") - Utils.saveProperties(config, version) + Utils.saveProperties(project.projectDir, config, version) } } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index c4da2b1..7c99b01 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -66,6 +66,14 @@ object Utils { return true } + fun getPropertiesFile(projectDir: File, propsFile: String): File { + return if (File(propsFile).isAbsolute) { + File(propsFile) + } else { + File(projectDir, propsFile) + } + } + fun loadProperties(file: File): Properties { var isNew = false val props = Properties() @@ -197,41 +205,45 @@ object Utils { return true } - fun saveProperties(config: SemverConfig, version: Version) { - val propsFile = File(config.properties) + fun saveProperties(projectDir: File, config: SemverConfig, version: Version) { + val propsFile = getPropertiesFile(projectDir, config.properties) SortedProperties().apply { - propsFile.apply { - if (canReadFile()) { - FileInputStream(this).reader().use { load(it) } - } else { - createNewFile() - } - - put(config.semverKey, version.semver) - put(config.majorKey, version.major.toString()) - put(config.minorKey, version.minor.toString()) - put(config.patchKey, version.patch.toString()) - put(config.preReleaseKey, version.preRelease) - put(config.buildMetaKey, version.buildMeta) - put(config.semverKey, version.semver) - - put(config.buildMetaPrefixKey, version.buildMetaPrefix, - version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX || - containsKey(config.buildMetaPrefixKey)) - put(config.preReleasePrefixKey, version.preReleasePrefix, - version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX || - containsKey(config.preReleasePrefixKey)) - put(config.separatorKey, version.separator, - version.separator != Version.DEFAULT_SEPARATOR || - containsKey(config.separatorKey)) - - if (canWrite()) { - FileOutputStream(this).writer().use { - store(it, "Generated by the Semver Plugin for Gradle") + try { + propsFile.apply { + if (canReadFile()) { + FileInputStream(this).reader().use { load(it) } + } else { + createNewFile() + } + + put(config.semverKey, version.semver) + put(config.majorKey, version.major.toString()) + put(config.minorKey, version.minor.toString()) + put(config.patchKey, version.patch.toString()) + put(config.preReleaseKey, version.preRelease) + put(config.buildMetaKey, version.buildMeta) + put(config.semverKey, version.semver) + + put(config.buildMetaPrefixKey, version.buildMetaPrefix, + version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX || + containsKey(config.buildMetaPrefixKey)) + put(config.preReleasePrefixKey, version.preReleasePrefix, + version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX || + containsKey(config.preReleasePrefixKey)) + put(config.separatorKey, version.separator, + version.separator != Version.DEFAULT_SEPARATOR || + containsKey(config.separatorKey)) + + if (canWrite()) { + FileOutputStream(this).writer().use { + store(it, "Generated by the Semver Plugin for Gradle") + } + } else { + throw GradleException() } - } else { - throw GradleException("Unable to write version to: `$absoluteFile`") } + } catch (e: Exception) { + throw GradleException("Unable to write version to: `${propsFile.absoluteFile}`") } } } diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 2c787e7..7b6a91f 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -48,12 +48,13 @@ object UtilsSpec : Spek({ val version = Version() val config = SemverConfig() val propsFile = File("test.properties") + val projectDir = File("./") lateinit var props: Properties Scenario("Save/Load Properties") { When("saving the property") { config.properties = propsFile.name - Utils.saveProperties(config, version) + Utils.saveProperties(projectDir, config, version) } Then("properties file should exists and be readable") { @@ -115,7 +116,7 @@ object UtilsSpec : Spek({ } When("saving properties") { - Utils.saveProperties(config, version) + Utils.saveProperties(projectDir, config, version) } lateinit var newProps: Properties @@ -196,10 +197,36 @@ object UtilsSpec : Spek({ Then("saving the locked properties file") { assertFailsWith { - Utils.saveProperties(config, version) + Utils.saveProperties(projectDir, config, version) } propsLocked.delete() } } + + Scenario("Save/Load Properties in foo") { + lateinit var fooDir: File + lateinit var fooProps: File + When("saving the foo property") { + fooDir = File("foo") + fooDir.mkdir() + fooProps = File(fooDir, propsFile.name) + config.properties = fooProps.absolutePath + Utils.saveProperties(projectDir, config, version) + } + + Then("foo properties file should exists and be readable") { + assertEquals(fooProps.canReadFile(), fooProps.canRead() && fooProps.isFile) + } + + When("loading the foo properties file") { + props = Utils.loadProperties(fooProps) + fooProps.delete() + fooDir.delete() + } + + Then("version in foo properties should be the same") { + assertEquals(props.getProperty(config.semverKey), version.semver) + } + } } }) From a1054cf46a74410f5171b544792ef4ac8fa8ee1b Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 24 May 2019 09:53:00 -0700 Subject: [PATCH 129/155] Updated examples. --- examples/annotation-processor/java/build.gradle | 2 +- .../annotation-processor/kotlin/build.gradle.kts | 2 +- examples/java/build.gradle | 2 +- examples/java/version.properties | 12 ++++++------ examples/kotlin/build.gradle.kts | 2 +- examples/test/build.gradle | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 4fae1e3..54e6e00 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id 'net.thauvin.erik.gradle.semver' version '1.0.1' + id 'net.thauvin.erik.gradle.semver' version '1.0.2' id 'com.github.ben-manes.versions' version '0.21.0' } diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index 363fdbf..ed86981 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -2,7 +2,7 @@ plugins { kotlin("jvm").version("1.3.30") application id("org.jetbrains.kotlin.kapt").version("1.3.31") - id("net.thauvin.erik.gradle.semver").version("1.0.1") + id("net.thauvin.erik.gradle.semver").version("1.0.2") id("com.github.ben-manes.versions").version("0.21.0") } diff --git a/examples/java/build.gradle b/examples/java/build.gradle index b6b7234..ed227c2 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id 'net.thauvin.erik.gradle.semver' version '1.0.1' + id 'net.thauvin.erik.gradle.semver' version '1.0.2' id 'com.github.ben-manes.versions' version '0.21.0' } diff --git a/examples/java/version.properties b/examples/java/version.properties index 4a0739e..3bd47e1 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Fri May 24 01:11:52 PDT 2019 -version.buildmeta=20190524011152 +#Fri May 24 07:51:21 PDT 2019 +version.buildmeta= version.major=1 -version.minor=1 -version.patch=8 -version.prerelease=alpha -version.semver=1.1.8-alpha+20190524011152 +version.minor=0 +version.patch=0 +version.prerelease= +version.semver=1.0.0 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index d7ece1c..7c94bc8 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -6,7 +6,7 @@ import java.time.format.DateTimeFormatter plugins { kotlin("jvm").version("1.3.31") application - id("net.thauvin.erik.gradle.semver").version("1.0.1") + id("net.thauvin.erik.gradle.semver").version("1.0.2") id("com.github.ben-manes.versions").version("0.21.0") } diff --git a/examples/test/build.gradle b/examples/test/build.gradle index ba95d75..c0f4171 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -3,7 +3,7 @@ buildscript { mavenLocal() } dependencies { - classpath "net.thauvin.erik.gradle:semver:1.0.1" + classpath "net.thauvin.erik.gradle:semver:1.0.2" } } From 51dbfe9c4e366c3d45f48c1c99030992908bfc8f Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 24 May 2019 09:53:32 -0700 Subject: [PATCH 130/155] Version 1.0.2 --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 8839bbd..96dc80f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,7 +13,7 @@ plugins { id("org.sonarqube") version "2.7.1" } -version = "1.0.1" +version = "1.0.2" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" From b9c865bc6f1d006c4cdd8243455bf60c683fa874 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 24 May 2019 09:59:27 -0700 Subject: [PATCH 131/155] Updated changelog. --- CHANGELOG.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d661ee2..4f105e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,15 @@ # Change Log -## [1.0.1](https://github.com/ethauvin/semver-gradle/tree/1.0.1) (2019-05-24) -[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/1.0.0...1.0.1) +## [1.0.2](https://github.com/ethauvin/semver-gradle/tree/1.0.2) (2019-05-24) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/1.0.1...1.0.2) **Implemented enhancements:** - version.properties write issue when using NetBeans on Windows. [\#6](https://github.com/ethauvin/semver-gradle/issues/6) +## [1.0.1](https://github.com/ethauvin/semver-gradle/tree/1.0.1) (2019-05-24) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/1.0.0...1.0.1) + ## [1.0.0](https://github.com/ethauvin/semver-gradle/tree/1.0.0) (2019-04-23) [Full Changelog](https://github.com/ethauvin/semver-gradle/compare/0.9.9-beta...1.0.0) @@ -48,4 +51,4 @@ ## [0.9.2-beta](https://github.com/ethauvin/semver-gradle/tree/0.9.2-beta) (2018-07-01) -\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file From d45e700b6b49cc0787699e582742b369e74441b4 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 25 May 2019 15:04:17 -0700 Subject: [PATCH 132/155] Changed compileOnly to implementation. --- examples/annotation-processor/java/build.gradle | 2 +- examples/annotation-processor/kotlin/build.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 54e6e00..f23df23 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -20,7 +20,7 @@ def semverProcessor = "net.thauvin.erik:semver:1.2.0" dependencies { annotationProcessor semverProcessor - compileOnly semverProcessor + implementation semverProcessor } repositories { diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index ed86981..697698d 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -17,7 +17,7 @@ var semverProcessor = "net.thauvin.erik:semver:1.2.0" dependencies { kapt(semverProcessor) - compileOnly(semverProcessor) + implementation(semverProcessor) implementation(kotlin("stdlib")) } From 7a1ff7ee24d8b0c91f3593bd7413698b923c9f9c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 May 2019 23:49:02 -0700 Subject: [PATCH 133/155] Added JDK 12 processor argument configuration. --- examples/annotation-processor/java/build.gradle | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index f23df23..1a6b2f7 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -23,6 +23,11 @@ dependencies { implementation semverProcessor } +// For Java 12+ +tasks.withType(JavaCompile) { + options.compilerArgs += [ "-Asemver.project.dir=$projectDir" ] +} + repositories { mavenLocal() jcenter() From ebc5b66fac5d576ac7458d104d2c4a4f5bc0815d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 24 Jul 2019 21:52:14 -0700 Subject: [PATCH 134/155] Gradle 5.5.1 update. --- .../java/gradle/wrapper/gradle-wrapper.properties | 2 +- examples/annotation-processor/java/gradlew | 2 +- examples/annotation-processor/java/gradlew.bat | 2 +- .../kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- examples/annotation-processor/kotlin/gradlew | 2 +- examples/annotation-processor/kotlin/gradlew.bat | 2 +- examples/java/gradle/wrapper/gradle-wrapper.properties | 2 +- examples/java/gradlew | 2 +- examples/java/gradlew.bat | 2 +- examples/kotlin/gradle/wrapper/gradle-wrapper.properties | 2 +- examples/kotlin/gradlew | 2 +- examples/kotlin/gradlew.bat | 2 +- examples/test/gradle/wrapper/gradle-wrapper.properties | 2 +- examples/test/gradlew | 2 +- examples/test/gradlew.bat | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 2 +- gradlew.bat | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties index f4d7b2b..4b7e1f3 100644 --- a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/java/gradlew b/examples/annotation-processor/java/gradlew index b0d6d0a..8e25e6c 100755 --- a/examples/annotation-processor/java/gradlew +++ b/examples/annotation-processor/java/gradlew @@ -7,7 +7,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/examples/annotation-processor/java/gradlew.bat b/examples/annotation-processor/java/gradlew.bat index 9991c50..9618d8d 100644 --- a/examples/annotation-processor/java/gradlew.bat +++ b/examples/annotation-processor/java/gradlew.bat @@ -5,7 +5,7 @@ @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem -@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem https://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an "AS IS" BASIS, diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties index f4d7b2b..4b7e1f3 100644 --- a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/kotlin/gradlew b/examples/annotation-processor/kotlin/gradlew index b0d6d0a..8e25e6c 100755 --- a/examples/annotation-processor/kotlin/gradlew +++ b/examples/annotation-processor/kotlin/gradlew @@ -7,7 +7,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/examples/annotation-processor/kotlin/gradlew.bat b/examples/annotation-processor/kotlin/gradlew.bat index 9991c50..9618d8d 100644 --- a/examples/annotation-processor/kotlin/gradlew.bat +++ b/examples/annotation-processor/kotlin/gradlew.bat @@ -5,7 +5,7 @@ @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem -@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem https://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an "AS IS" BASIS, diff --git a/examples/java/gradle/wrapper/gradle-wrapper.properties b/examples/java/gradle/wrapper/gradle-wrapper.properties index f4d7b2b..4b7e1f3 100644 --- a/examples/java/gradle/wrapper/gradle-wrapper.properties +++ b/examples/java/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/java/gradlew b/examples/java/gradlew index b0d6d0a..8e25e6c 100755 --- a/examples/java/gradlew +++ b/examples/java/gradlew @@ -7,7 +7,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/examples/java/gradlew.bat b/examples/java/gradlew.bat index 9991c50..9618d8d 100644 --- a/examples/java/gradlew.bat +++ b/examples/java/gradlew.bat @@ -5,7 +5,7 @@ @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem -@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem https://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an "AS IS" BASIS, diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties index f4d7b2b..4b7e1f3 100644 --- a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties +++ b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/kotlin/gradlew b/examples/kotlin/gradlew index b0d6d0a..8e25e6c 100755 --- a/examples/kotlin/gradlew +++ b/examples/kotlin/gradlew @@ -7,7 +7,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/examples/kotlin/gradlew.bat b/examples/kotlin/gradlew.bat index 9991c50..9618d8d 100644 --- a/examples/kotlin/gradlew.bat +++ b/examples/kotlin/gradlew.bat @@ -5,7 +5,7 @@ @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem -@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem https://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an "AS IS" BASIS, diff --git a/examples/test/gradle/wrapper/gradle-wrapper.properties b/examples/test/gradle/wrapper/gradle-wrapper.properties index ea13fdf..4b7e1f3 100644 --- a/examples/test/gradle/wrapper/gradle-wrapper.properties +++ b/examples/test/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/examples/test/gradlew b/examples/test/gradlew index b0d6d0a..8e25e6c 100755 --- a/examples/test/gradlew +++ b/examples/test/gradlew @@ -7,7 +7,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/examples/test/gradlew.bat b/examples/test/gradlew.bat index 9991c50..9618d8d 100644 --- a/examples/test/gradlew.bat +++ b/examples/test/gradlew.bat @@ -5,7 +5,7 @@ @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem -@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem https://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f4d7b2b..4b7e1f3 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-5.4.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index b0d6d0a..8e25e6c 100755 --- a/gradlew +++ b/gradlew @@ -7,7 +7,7 @@ # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, diff --git a/gradlew.bat b/gradlew.bat index 9991c50..9618d8d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -5,7 +5,7 @@ @rem you may not use this file except in compliance with the License. @rem You may obtain a copy of the License at @rem -@rem http://www.apache.org/licenses/LICENSE-2.0 +@rem https://www.apache.org/licenses/LICENSE-2.0 @rem @rem Unless required by applicable law or agreed to in writing, software @rem distributed under the License is distributed on an "AS IS" BASIS, From 17b5ceaaf6de3145b43539ed98b609609ce965a8 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 25 Jul 2019 01:46:05 -0700 Subject: [PATCH 135/155] Updated dependencies. --- .idea/codeStyles/codeStyleConfig.xml | 5 ++++ build.gradle.kts | 30 ++++++++++++++----- .../java/com/example/GeneratedVersion.java | 23 +++++++------- .../java/version.properties | 6 ++-- .../kotlin/build.gradle.kts | 4 +-- .../kotlin/version.properties | 6 ++-- examples/java/build.gradle | 4 +-- examples/java/version.properties | 6 ++-- examples/kotlin/build.gradle.kts | 2 +- examples/kotlin/version.properties | 6 ++-- 10 files changed, 56 insertions(+), 36 deletions(-) create mode 100644 .idea/codeStyles/codeStyleConfig.xml diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..d91f848 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 96dc80f..e8cea4e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,18 +8,22 @@ plugins { id("com.github.ben-manes.versions") version "0.21.0" id("com.gradle.build-scan") version "2.3" id("com.gradle.plugin-publish") version "0.10.1" - id("io.gitlab.arturbosch.detekt") version "1.0.0-RC14" - id("org.jmailen.kotlinter") version "1.25.2" + id("io.gitlab.arturbosch.detekt") version "1.0.0-RC14" // don't update until kotlin 1.3.401 is supported by Gradle + id("org.jmailen.kotlinter") version "1.26.0" // don't update until kotlin 1.3.41 supported by Gradle id("org.sonarqube") version "2.7.1" + kotlin("jvm") version "1.3.31" } -version = "1.0.2" +version = "1.0.3-beta" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" var packageName = "net.thauvin.erik.gradle.semver" -var spek_version = "2.0.5" +object Versions { + const val kotlin = "1.3.31" + const val spek = "2.0.5" +} repositories { jcenter() @@ -28,12 +32,13 @@ repositories { dependencies { implementation(gradleApi()) - testImplementation(kotlin("reflect")) - testImplementation(kotlin("test")) + testImplementation(kotlin("reflect", version = Versions.kotlin)) + testImplementation(kotlin("test", version = Versions.kotlin)) testImplementation(gradleTestKit()) - testImplementation("org.spekframework.spek2:spek-dsl-jvm:$spek_version") - testRuntimeOnly("org.spekframework.spek2:spek-runner-junit5:$spek_version") + testImplementation("org.spekframework.spek2:spek-dsl-jvm:${Versions.spek}") + testRuntimeOnly("org.spekframework.spek2:spek-runner-junit5:${Versions.spek}") + implementation(kotlin("stdlib-jdk8", version = Versions.kotlin)) } tasks { @@ -81,6 +86,7 @@ kotlinter { ignoreFailures = false reporters = arrayOf("html") experimentalRules = false + //disabledRules = arrayOf("import-ordering") } sonarqube { @@ -111,3 +117,11 @@ pluginBundle { artifactId = project.name } } +val compileKotlin: KotlinCompile by tasks +compileKotlin.kotlinOptions { + jvmTarget = "1.8" +} +val compileTestKotlin: KotlinCompile by tasks +compileTestKotlin.kotlinOptions { + jvmTarget = "1.8" +} diff --git a/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java index 19aa5c6..5010897 100644 --- a/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java +++ b/examples/annotation-processor/java/src/generated/java/com/example/GeneratedVersion.java @@ -2,6 +2,7 @@ * This file is automatically generated. * Do not modify! -- ALL CHANGES WILL BE ERASED! */ + package com.example; import java.util.Date; @@ -12,17 +13,17 @@ import java.util.Date; * @author Semantic Version Annotation Processor */ public final class GeneratedVersion { - public final static String PROJECT = "Java Example"; - public final static Date BUILDDATE = new Date(1556062927242L); - public final static int MAJOR = 2; - public final static int MINOR = 9; - public final static int PATCH = 0; - public final static String PRERELEASE = ""; - public final static String PRERELEASE_PREFIX = "-"; - public final static String BUILDMETA = ""; - public final static String BUILDMETA_PREFIX = "+"; - public final static String SEPARATOR = "."; - public final static String VERSION = "2.9.0"; + public static final String PROJECT = "Java Example"; + public static final Date BUILDDATE = new Date(1564027571537L); + public static final int MAJOR = 2; + public static final int MINOR = 10; + public static final int PATCH = 0; + public static final String PRERELEASE = ""; + public static final String PRERELEASE_PREFIX = "-"; + public static final String BUILDMETA = ""; + public static final String BUILDMETA_PREFIX = "+"; + public static final String SEPARATOR = "."; + public static final String VERSION = "2.10.0"; /** * Disables the default constructor. diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties index 29ed47a..fc54733 100644 --- a/examples/annotation-processor/java/version.properties +++ b/examples/annotation-processor/java/version.properties @@ -1,9 +1,9 @@ #Generated by the Semver Plugin for Gradle -#Tue Apr 23 16:42:04 PDT 2019 +#Wed Jul 24 21:06:09 PDT 2019 version.buildmeta= version.major=2 -version.minor=9 +version.minor=10 version.patch=0 version.prerelease= version.project=Java Example -version.semver=2.9.0 +version.semver=2.10.0 diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index 697698d..570b231 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -1,7 +1,7 @@ plugins { - kotlin("jvm").version("1.3.30") + kotlin("jvm").version("1.3.41") application - id("org.jetbrains.kotlin.kapt").version("1.3.31") + id("org.jetbrains.kotlin.kapt").version("1.3.41") id("net.thauvin.erik.gradle.semver").version("1.0.2") id("com.github.ben-manes.versions").version("0.21.0") } diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties index 0c32b5e..8da5e3a 100644 --- a/examples/annotation-processor/kotlin/version.properties +++ b/examples/annotation-processor/kotlin/version.properties @@ -1,9 +1,9 @@ #Generated by the Semver Plugin for Gradle -#Tue Apr 23 16:42:52 PDT 2019 +#Wed Jul 24 21:06:46 PDT 2019 version.buildmeta= version.major=14 -version.minor=2 +version.minor=3 version.patch=0 version.prerelease= version.project=Kotlin Example -version.semver=14.2.0 +version.semver=14.3.0 diff --git a/examples/java/build.gradle b/examples/java/build.gradle index ed227c2..10233fe 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -16,8 +16,8 @@ mainClassName = 'App' defaultTasks 'run' dependencies { - testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.0-M1' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.0-M1' + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.1' } repositories { diff --git a/examples/java/version.properties b/examples/java/version.properties index 3bd47e1..946ba36 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Fri May 24 07:51:21 PDT 2019 -version.buildmeta= +#Wed Jul 24 21:04:08 PDT 2019 +version.buildmeta=20190724210408 version.major=1 version.minor=0 version.patch=0 version.prerelease= -version.semver=1.0.0 +version.semver=1.0.0+20190724210408 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 7c94bc8..58be385 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -4,7 +4,7 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { - kotlin("jvm").version("1.3.31") + kotlin("jvm").version("1.3.41") application id("net.thauvin.erik.gradle.semver").version("1.0.2") id("com.github.ben-manes.versions").version("0.21.0") diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 42b96ca..568c94e 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Fri May 24 01:12:52 PDT 2019 -version.buildmeta=20190524011252 +#Wed Jul 24 21:05:40 PDT 2019 +version.buildmeta=20190724210540 version.major=1 version.minor=2 version.patch=4 version.prerelease=beta -version.semver=1.2.4-beta+20190524011252 +version.semver=1.2.4-beta+20190724210540 From e1891c47af347f38a899af465a9210c2428d6976 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 25 Jul 2019 01:51:04 -0700 Subject: [PATCH 136/155] Added version extension properties. --- README.md | 26 +++++++++++ .../erik/gradle/semver/SemverConfig.kt | 43 +++++++++++++++++-- .../erik/gradle/semver/SemverIncrementTask.kt | 3 +- .../erik/gradle/semver/SemverPlugin.kt | 14 +++--- .../erik/gradle/semver/SemverConfigSpec.kt | 2 +- 5 files changed, 78 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 805dc0e..3ab8853 100644 --- a/README.md +++ b/README.md @@ -244,6 +244,32 @@ test.semver=1.0.0 - __Examples__: [Java](https://github.com/ethauvin/semver-gradle/tree/master/examples/java), [Kotlin](https://github.com/ethauvin/semver-gradle/tree/master/examples/kotlin) +### Semver Extension Properties + +The values stored in the version properties file can individually be accessed using the `semver` extension, for example: + +```gradle + fooTask { + println "Build: $semver.buildMeta" + } +``` + +The semver extension properties are: + +Property | Description +:-------------------------|:---------------------------- +`semver.semver` | The full semantic version. +`semver.version` | Same as `semver.semver`. +`semver.major` | The major version. +`semver.minor` | The minor version. +`semver.patch` | The patch version. +`semver.preRelease` | The pre-release version +`semver.preReleasePrefix` | The pre-release prefix +`semver.buildMeta` | The build metatdata version +`semver.buildMetaPrefix` | The build metadata prefix +`semver.separator` | The version separator. + + ## Source Code Generation If you'd like to incorporate the version number data into your source code, please have a look at the [__Semantic Version Annotation Processor__](https://github.com/ethauvin/semver). diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index 7327356..c530d4f 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -32,7 +32,11 @@ package net.thauvin.erik.gradle.semver -open class SemverConfig { +import javax.inject.Inject + +open class SemverConfig @Inject constructor( + private val semVersion: Version +) { companion object { const val DEFAULT_KEYS_PREFIX = "version." const val DEFAULT_PROPERTIES = "${DEFAULT_KEYS_PREFIX}properties" @@ -48,6 +52,8 @@ open class SemverConfig { } var properties = DEFAULT_PROPERTIES + + // Keys var semverKey = DEFAULT_SEMVER_KEY get() = "$keysPrefix$field" var majorKey = DEFAULT_MAJOR_KEY @@ -68,10 +74,32 @@ open class SemverConfig { get() = "$keysPrefix$field" var keysPrefix = DEFAULT_KEYS_PREFIX + // Properties + val semver: String + get() = semVersion.semver + val version: String + get() = semVersion.semver + val major: Int + get() = semVersion.major + val minor: Int + get() = semVersion.minor + val patch: Int + get() = semVersion.patch + val preRelease: String + get() = semVersion.preRelease + val buildMeta: String + get() = semVersion.buildMeta + val preReleasePrefix: String + get() = semVersion.preReleasePrefix + val buildMetaPrefix: String + get() = semVersion.buildMetaPrefix + val separator: String + get() = semVersion.separator + override fun toString(): String { return "SemverConfig(" + "properties='$properties', " + - "semver='$semverKey', " + + "semverKey='$semverKey', " + "majorKey='$majorKey', " + "minorKey='$minorKey', " + "patchKey='$patchKey', " + @@ -80,7 +108,16 @@ open class SemverConfig { "buildMetaKey='$buildMetaKey', " + "buildMetaPrefixKey='$buildMetaPrefixKey', " + "separator='$separatorKey', " + - "keysPrefix='$keysPrefix')" + + "keysPrefix='$keysPrefix', " + + "semver='$semver', " + + "major='$major', " + + "minor='$minor', " + + "patch='$patch', " + + "preRelease='$preRelease', " + + "buildMeta='$buildMeta', " + + "preReleasePrefix='$preReleasePrefix', " + + "buildMetaPrefix='$buildMetaPrefix', " + + "separator='$separator'" + ')' } } diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt index 24cb10c..0fbb622 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverIncrementTask.kt @@ -54,7 +54,8 @@ open class SemverIncrementTask @Inject constructor( version.increment( isMajor = type == SemverConfig.DEFAULT_MAJOR_KEY, isMinor = type == SemverConfig.DEFAULT_MINOR_KEY, - isPatch = type == SemverConfig.DEFAULT_PATCH_KEY) + isPatch = type == SemverConfig.DEFAULT_PATCH_KEY + ) project.version = version.semver logger.lifecycle("Version: ${project.version}") Utils.saveProperties(project.projectDir, config, version) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt index d346cb7..f591ecd 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverPlugin.kt @@ -46,7 +46,7 @@ class SemverPlugin : Plugin { if (GradleVersion.current() < GradleVersion.version("4.8.1")) { throw GradleException("The $simpleName plugin requires Gradle version 4.8.1 or greater.") } - config = project.extensions.create("semver", SemverConfig::class.java) + config = project.extensions.create("semver", SemverConfig::class.java, version) project.afterEvaluate(this::afterEvaluate) project.tasks.apply { @@ -62,18 +62,22 @@ class SemverPlugin : Plugin { if (project.version != "unspecified") { project.logger.warn( - "Please specify the version in ${propsFile.name} and remove it from ${project.buildFile.name}") + "Please specify the version in ${propsFile.name} and remove it from ${project.buildFile.name}" + ) } propsFile.apply { val isNew = !exists() project.logger.info( - "[$simpleName] Attempting to read properties from: `$absoluteFile`. [exists: $isNew, isFile: $isFile, canRead: ${propsFile.canRead()}]") + "[$simpleName] Attempting to read properties from: `$absoluteFile`. [exists: $isNew, isFile: $isFile, canRead: ${canRead()}]" + ) val props = Utils.loadProperties(this) - val requiredProps = setOf(config.semverKey, config.majorKey, config.minorKey, config.patchKey, - config.preReleaseKey, config.buildMetaKey) + val requiredProps = setOf( + config.semverKey, config.majorKey, config.minorKey, config.patchKey, + config.preReleaseKey, config.buildMetaKey + ) val hasReqProps = !isNew && props.stringPropertyNames().containsAll(requiredProps) && Utils.isNotSystemProperty(requiredProps) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index 99221e8..c487bcd 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -41,7 +41,7 @@ import kotlin.test.assertTrue object SemverConfigSpec : Spek({ Feature("SemverConfig") { Scenario("Testing configs") { - val config by memoized { SemverConfig() } + val config by memoized { SemverConfig(Version()) } val vars = listOf( config.semverKey, config.majorKey, From 24b12f131e913ce1cc5d8268f9e4bcc85ff1dcf5 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 25 Jul 2019 01:51:59 -0700 Subject: [PATCH 137/155] Improved semver parsing. --- .../net/thauvin/erik/gradle/semver/Utils.kt | 105 ++++++------------ .../thauvin/erik/gradle/semver/UtilsSpec.kt | 29 +++-- 2 files changed, 59 insertions(+), 75 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index 7c99b01..4f5c9a5 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -50,11 +50,6 @@ object Utils { return canRead() && isFile } - private fun Int.length() = when (this) { - 0 -> 1 - else -> Math.log10(Math.abs(toDouble())).toInt() + 1 - } - private fun Properties.put(key: String, value: String, isValidCondition: Boolean) { if (isValidCondition) put(key, value) } @@ -135,73 +130,41 @@ object Utils { fun parseSemVer(input: String?, version: Version): Boolean { if (input.isNullOrBlank()) return false - var semver = StringBuilder(input) - var start = semver.indexOf(version.separator) - var minor = -1 - var major = -1 - var patch = -1 - var preRelease = "" - var buildMeta = "" - try { - // major - if (start != -1) { - major = Math.abs(semver.substring(0, start).toInt()) - semver.delete(0, start + major.length()) - start = semver.indexOf(version.separator) - // minor - if (start != -1) { - minor = Math.abs(semver.substring(0, start).toInt()) - semver = semver.delete(0, start + minor.length()) - start = semver.indexOf(version.preReleasePrefix) - // patch - if (start != -1) { - patch = Math.abs(semver.substring(0, start).toInt()) - semver.delete(0, start + minor.length()) - start = semver.lastIndexOf(version.buildMetaPrefix) - // pre-release - if (start != -1) { - preRelease = semver.substring(0, start) - semver.delete(0, preRelease.length) - start = semver.indexOf(version.buildMetaPrefix) - // build meta - if (start != -1) { - buildMeta = semver.substring(version.preReleasePrefix.length) - semver.clear() + val parts = input.split( + Regex("[\\Q${version.separator}${version.preReleasePrefix}${version.buildMetaPrefix}\\E]"), + 5 + ) + + if (parts.size >= 3) { + version.major = parts[0].toInt() + version.minor = parts[1].toInt() + version.patch = parts[2].toInt() + version.preRelease = "" + version.buildMeta = "" + + if (parts.size > 3) { + when { + parts.size == 5 -> { + version.preRelease = parts[3] + version.buildMeta = parts[4] + } + parts.size == 4 -> { + if (input.contains(version.buildMetaPrefix)) { + version.buildMeta = parts[3] + } else { + version.preRelease = parts[3] } - } else { - // no build meta - preRelease = semver.toString() - semver.clear() } - } else if (semver.isNotEmpty()) { - // no pre-release - start = semver.lastIndexOf(version.buildMetaPrefix) - // patch & build meta - if (start != -1) { - patch = semver.substring(0, start).toInt() - semver.delete(0, start + minor.length()) - buildMeta = semver.toString() - } else { - // patch - patch = semver.toString().toInt() - } - semver.clear() } } + } else { + throw NumberFormatException("Not enough parts.") } } catch (e: NumberFormatException) { throw GradleException("Unable to parse version: \"$input\" (${e.message})", e) } - if (semver.isNotEmpty()) throw GradleException("Unable to parse version: \"$input\".") - - version.major = major - version.minor = minor - version.patch = patch - version.preRelease = preRelease - version.buildMeta = buildMeta - return true } @@ -224,15 +187,21 @@ object Utils { put(config.buildMetaKey, version.buildMeta) put(config.semverKey, version.semver) - put(config.buildMetaPrefixKey, version.buildMetaPrefix, + put( + config.buildMetaPrefixKey, version.buildMetaPrefix, version.buildMetaPrefix != Version.DEFAULT_BUILDMETA_PREFIX || - containsKey(config.buildMetaPrefixKey)) - put(config.preReleasePrefixKey, version.preReleasePrefix, + containsKey(config.buildMetaPrefixKey) + ) + put( + config.preReleasePrefixKey, version.preReleasePrefix, version.preReleasePrefix != Version.DEFAULT_PRERELEASE_PREFIX || - containsKey(config.preReleasePrefixKey)) - put(config.separatorKey, version.separator, + containsKey(config.preReleasePrefixKey) + ) + put( + config.separatorKey, version.separator, version.separator != Version.DEFAULT_SEPARATOR || - containsKey(config.separatorKey)) + containsKey(config.separatorKey) + ) if (canWrite()) { FileOutputStream(this).writer().use { diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 7b6a91f..578dc80 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -46,7 +46,7 @@ import kotlin.test.assertTrue object UtilsSpec : Spek({ Feature("Utils") { val version = Version() - val config = SemverConfig() + val config = SemverConfig(version) val propsFile = File("test.properties") val projectDir = File("./") lateinit var props: Properties @@ -88,12 +88,19 @@ object UtilsSpec : Spek({ Pair(config.minorKey, "1"), Pair(config.patchKey, "1"), Pair(config.preReleaseKey, "beta"), - Pair(config.buildMetaKey, "007")) + Pair(config.buildMetaKey, "007") + ) } Then("none should already exists") { - assertTrue(Utils.isNotSystemProperty(setOf(config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, - config.buildMetaKey))) + assertTrue( + Utils.isNotSystemProperty( + setOf( + config.majorKey, config.minorKey, config.patchKey, config.preReleaseKey, + config.buildMetaKey + ) + ) + ) } Then("version should match system properties") { @@ -147,7 +154,15 @@ object UtilsSpec : Spek({ Scenario("Testing Version Parsing") { When("validating version parsing") { - listOf("1.0.0", "2.1.0-beta", "3.2.1-beta+007", "4.3.2+007").forEach { + listOf( + "1.0.0", + "2.1.0-beta", + "3.2.1-beta+007", + "4.3.2+007", + "11.11.1", + "111.11.11-beta", + "1111.111.11-beta+001.12" + ).forEach { assertTrue(Utils.parseSemVer(it, version), "parsing semver: $it") assertEquals(it, version.semver, it) } @@ -166,8 +181,8 @@ object UtilsSpec : Spek({ } Then("verifying pre-release and meta") { - assertEquals(version.preRelease, "beta.1") - assertEquals(version.buildMeta, "007") + assertEquals(version.preRelease, "beta") + assertEquals(version.buildMeta, "1.007") } } From 6d23cead060792f6cfd28883cca50b63a625c85d Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 25 Jul 2019 02:02:14 -0700 Subject: [PATCH 138/155] Changed to trusty dist. --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 25b785f..55ff953 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: java +dist: trusty env: global: From c16f95a8d3d3e2f1bd1bc3c0c4044d754149c8c5 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Thu, 25 Jul 2019 10:03:06 -0700 Subject: [PATCH 139/155] Testing extension properties. --- examples/test/build.gradle | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/test/build.gradle b/examples/test/build.gradle index c0f4171..0f13519 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -1,9 +1,10 @@ buildscript { repositories { mavenLocal() + mavenCentral() } dependencies { - classpath "net.thauvin.erik.gradle:semver:1.0.2" + classpath "net.thauvin.erik.gradle:semver:1.0.3-beta" } } @@ -39,7 +40,7 @@ incrementBuildMeta { run { doFirst { - println("Version: $version") + println("Version: $semver.major$semver.separator$semver.minor$semver.separator$semver.patch$semver.preReleasePrefix$semver.preRelease$semver.buildMetaPrefix$semver.buildMeta") args = [f.name] } } From c678bb788983a0ebea79bdb786488caee68257c1 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 26 Jul 2019 12:26:34 -0700 Subject: [PATCH 140/155] Improved version parsing. --- .../net/thauvin/erik/gradle/semver/Utils.kt | 22 +++++++++------- .../thauvin/erik/gradle/semver/UtilsSpec.kt | 25 ++++++++++++++++--- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index 4f5c9a5..4a0db27 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -36,6 +36,7 @@ import org.gradle.api.GradleException import java.io.File import java.io.FileInputStream import java.io.FileOutputStream +import java.io.IOException import java.util.Properties /** @@ -77,7 +78,7 @@ object Utils { if (!exists() && createNewFile()) { isNew = true } - } catch (e: Exception) { + } catch (e: IOException) { throw GradleException("Unable to create: `$absoluteFile`", e) } if (canReadFile()) { @@ -131,26 +132,29 @@ object Utils { if (input.isNullOrBlank()) return false try { + val max = 5 + val min = 3 + val parts = input.split( Regex("[\\Q${version.separator}${version.preReleasePrefix}${version.buildMetaPrefix}\\E]"), - 5 + max ) - if (parts.size >= 3) { + if (parts.size >= min) { version.major = parts[0].toInt() version.minor = parts[1].toInt() version.patch = parts[2].toInt() version.preRelease = "" version.buildMeta = "" - if (parts.size > 3) { + if (parts.size > min) { when { - parts.size == 5 -> { + parts.size == max -> { version.preRelease = parts[3] version.buildMeta = parts[4] } parts.size == 4 -> { - if (input.contains(version.buildMetaPrefix)) { + if (input.endsWith(version.buildMetaPrefix + parts[3])) { version.buildMeta = parts[3] } else { version.preRelease = parts[3] @@ -208,11 +212,11 @@ object Utils { store(it, "Generated by the Semver Plugin for Gradle") } } else { - throw GradleException() + throw IOException("Can't write.") } } - } catch (e: Exception) { - throw GradleException("Unable to write version to: `${propsFile.absoluteFile}`") + } catch (e: IOException) { + throw GradleException("Unable to write version to: `${propsFile.absoluteFile}`", e) } } } diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 578dc80..c0a3adc 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -152,8 +152,10 @@ object UtilsSpec : Spek({ } } - Scenario("Testing Version Parsing") { - When("validating version parsing") { + Scenario("Version Parsing") { + When("validating version parsing") {} + + Then("versions should parse") { listOf( "1.0.0", "2.1.0-beta", @@ -168,19 +170,34 @@ object UtilsSpec : Spek({ } } + Then("should throw exceptions") { + assertFailsWith { + Utils.parseSemVer("2.1.1a", version) + } + assertFailsWith { + Utils.parseSemVer("2a.1.1", version) + } + assertFailsWith { + Utils.parseSemVer("2.1a.1", version) + } + assertFailsWith { + Utils.parseSemVer("2.1", version) + } + } + Given("new prefixes") { version.preReleasePrefix = "." version.buildMetaPrefix = "." } - Then("validating prefixes parsing") { + Then("prefixes should parse") { listOf("2.1.0.beta.1", "2.1.1.1", "3.2.1.beta.1.007").forEach { assertTrue(Utils.parseSemVer(it, version), "parsing semver: $it") assertEquals(it, version.semver, it) } } - Then("verifying pre-release and meta") { + Then("last pre-release and meta should match") { assertEquals(version.preRelease, "beta") assertEquals(version.buildMeta, "1.007") } From 860d98505979162594d115d589d3af0ccfa07576 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 26 Jul 2019 12:27:06 -0700 Subject: [PATCH 141/155] Added extension properties test. --- .../erik/gradle/semver/SemverConfig.kt | 2 +- .../erik/gradle/semver/SemverConfigSpec.kt | 23 ++++++++++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt index c530d4f..9c07d5a 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SemverConfig.kt @@ -74,7 +74,7 @@ open class SemverConfig @Inject constructor( get() = "$keysPrefix$field" var keysPrefix = DEFAULT_KEYS_PREFIX - // Properties + // Extension Properties val semver: String get() = semVersion.semver val version: String diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index c487bcd..b24bae7 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -90,7 +90,8 @@ object SemverConfigSpec : Spek({ config.preReleasePrefixKey, config.buildMetaKey, config.buildMetaPrefixKey, - config.separatorKey) + config.separatorKey + ) } Then("all config keys should start with test.xxxx") { @@ -98,6 +99,26 @@ object SemverConfigSpec : Spek({ assertTrue(k.startsWith("test."), k) } } + + When("checking extension properties") {} + + Then("semver should be defaults") { + val defaultSemver = + "${Version.DEFAULT_MAJOR}${Version.DEFAULT_SEPARATOR}${Version.DEFAULT_MINOR}${Version.DEFAULT_SEPARATOR}${Version.DEFAULT_PATCH}" + assertEquals(config.semver, defaultSemver) + assertEquals( + "${config.major}${config.separator}${config.minor}${config.separator}${config.patch}", + defaultSemver + ) + assertEquals(config.preRelease, Version.DEFAULT_EMPTY) + assertEquals(config.buildMeta, Version.DEFAULT_EMPTY) + assertEquals(config.preReleasePrefix, Version.DEFAULT_PRERELEASE_PREFIX) + assertEquals(config.buildMetaPrefix, Version.DEFAULT_BUILDMETA_PREFIX) + } + + Then("semver = version") { + assertEquals(config.semver, config.version) + } } } }) From 062758a5f084d0faa21f7892942e79e327601b0e Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 26 Jul 2019 12:27:35 -0700 Subject: [PATCH 142/155] New baseline. --- detekt-baseline.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/detekt-baseline.xml b/detekt-baseline.xml index ffcc67e..e13abae 100644 --- a/detekt-baseline.xml +++ b/detekt-baseline.xml @@ -1,13 +1,16 @@ - + ComplexMethod:Utils.kt$Utils$fun loadProperties(file: File): Properties + ComplexMethod:Utils.kt$Utils$fun parseSemVer(input: String?, version: Version): Boolean + ComplexMethod:Utils.kt$Utils$fun saveProperties(projectDir: File, config: SemverConfig, version: Version) MagicNumber:Utils.kt$Utils$3 MagicNumber:Utils.kt$Utils$4 + MagicNumber:Utils.kt$Utils$5 MaxLineLength:SemverPlugin.kt$net.thauvin.erik.gradle.semver.SemverPlugin.kt NestedBlockDepth:Utils.kt$Utils$fun loadProperties(file: File): Properties - NestedBlockDepth:Utils.kt$Utils$fun parseSemVer(input: String, version: Version): String - NestedBlockDepth:Utils.kt$Utils$fun saveProperties(config: SemverConfig, version: Version) + NestedBlockDepth:Utils.kt$Utils$fun parseSemVer(input: String?, version: Version): Boolean + NestedBlockDepth:Utils.kt$Utils$fun saveProperties(projectDir: File, config: SemverConfig, version: Version) \ No newline at end of file From c32a7ebdec1115f0ea96bfc714b93f6195e14785 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 26 Jul 2019 12:36:22 -0700 Subject: [PATCH 143/155] Version 1.0.4. Closes #8 via e1891c47af347f38a899af465a9210c2428d6976 --- CHANGELOG.md | 14 ++++++++++++++ build.gradle.kts | 2 +- examples/annotation-processor/java/build.gradle | 2 +- .../annotation-processor/kotlin/build.gradle.kts | 2 +- examples/java/build.gradle | 2 +- examples/kotlin/build.gradle.kts | 2 +- examples/test/build.gradle | 2 +- 7 files changed, 20 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f105e5..14c8942 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # Change Log +## [1.0.4](https://github.com/ethauvin/semver-gradle/tree/1.0.4) (2019-07-26) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/1.0.3-beta...1.0.4) + +**Implemented enhancements:** + +- Access semver version properties in Gradle build file. [\#8](https://github.com/ethauvin/semver-gradle/issues/8) + +## [1.0.3-beta](https://github.com/ethauvin/semver-gradle/tree/1.0.3-beta) (2019-07-25) +[Full Changelog](https://github.com/ethauvin/semver-gradle/compare/1.0.2...1.0.3-beta) + +**Closed issues:** + +- Thanks! [\#7](https://github.com/ethauvin/semver-gradle/issues/7) + ## [1.0.2](https://github.com/ethauvin/semver-gradle/tree/1.0.2) (2019-05-24) [Full Changelog](https://github.com/ethauvin/semver-gradle/compare/1.0.1...1.0.2) diff --git a/build.gradle.kts b/build.gradle.kts index e8cea4e..c567349 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,7 +14,7 @@ plugins { kotlin("jvm") version "1.3.31" } -version = "1.0.3-beta" +version = "1.0.4" group = "net.thauvin.erik.gradle" var github = "https://github.com/ethauvin/semver-gradle" diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 1a6b2f7..04dc173 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id 'net.thauvin.erik.gradle.semver' version '1.0.2' + id 'net.thauvin.erik.gradle.semver' version '1.0.4' id 'com.github.ben-manes.versions' version '0.21.0' } diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts index 570b231..3986df1 100644 --- a/examples/annotation-processor/kotlin/build.gradle.kts +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -2,7 +2,7 @@ plugins { kotlin("jvm").version("1.3.41") application id("org.jetbrains.kotlin.kapt").version("1.3.41") - id("net.thauvin.erik.gradle.semver").version("1.0.2") + id("net.thauvin.erik.gradle.semver").version("1.0.4") id("com.github.ben-manes.versions").version("0.21.0") } diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 10233fe..800407f 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -1,7 +1,7 @@ plugins { id 'java' id 'application' - id 'net.thauvin.erik.gradle.semver' version '1.0.2' + id 'net.thauvin.erik.gradle.semver' version '1.0.4' id 'com.github.ben-manes.versions' version '0.21.0' } diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 58be385..eddf69d 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -6,7 +6,7 @@ import java.time.format.DateTimeFormatter plugins { kotlin("jvm").version("1.3.41") application - id("net.thauvin.erik.gradle.semver").version("1.0.2") + id("net.thauvin.erik.gradle.semver").version("1.0.4") id("com.github.ben-manes.versions").version("0.21.0") } diff --git a/examples/test/build.gradle b/examples/test/build.gradle index 0f13519..59a6637 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath "net.thauvin.erik.gradle:semver:1.0.3-beta" + classpath "net.thauvin.erik.gradle:semver:1.0.4" } } From d17afba52eae427c0d61a0446c5df7d83fb37f58 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 26 Jul 2019 15:11:45 -0700 Subject: [PATCH 144/155] Added assertion failure messages. --- .../kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index c0a3adc..40237ad 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -171,16 +171,16 @@ object UtilsSpec : Spek({ } Then("should throw exceptions") { - assertFailsWith { + assertFailsWith("2.1.1a") { Utils.parseSemVer("2.1.1a", version) } - assertFailsWith { + assertFailsWith("2a.1.1") { Utils.parseSemVer("2a.1.1", version) } - assertFailsWith { + assertFailsWith("2.1a.1") { Utils.parseSemVer("2.1a.1", version) } - assertFailsWith { + assertFailsWith("2.1") { Utils.parseSemVer("2.1", version) } } From 9737f66f649f9bc69dac27a8c3c21087ff4b01bd Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 26 Jul 2019 15:56:36 -0700 Subject: [PATCH 145/155] Updated Java 12 syntax. --- examples/annotation-processor/java/build.gradle | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 04dc173..e5f26f5 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -23,9 +23,10 @@ dependencies { implementation semverProcessor } -// For Java 12+ tasks.withType(JavaCompile) { - options.compilerArgs += [ "-Asemver.project.dir=$projectDir" ] + if (JavaVersion.current().isJava12Compatible()) { + options.compilerArgs += [ "-Asemver.project.dir=$projectDir" ] + } } repositories { From bf51d1d826a21fa5b428c914383395add5390df2 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 27 Jul 2019 14:10:16 -0700 Subject: [PATCH 146/155] Updated compiler option syntax. --- examples/annotation-processor/java/build.gradle | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index e5f26f5..28133c7 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -14,8 +14,6 @@ mainClassName = 'com.example.Example' defaultTasks 'run' -compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated/java") - def semverProcessor = "net.thauvin.erik:semver:1.2.0" dependencies { @@ -24,6 +22,7 @@ dependencies { } tasks.withType(JavaCompile) { + options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated/java") if (JavaVersion.current().isJava12Compatible()) { options.compilerArgs += [ "-Asemver.project.dir=$projectDir" ] } From 765c07a85ea6c69233b4cfe46272be6837ed6ae2 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 28 Jul 2019 21:38:10 -0700 Subject: [PATCH 147/155] Removed Java 12 syntax. --- examples/annotation-processor/java/build.gradle | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index 28133c7..ca55260 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -23,9 +23,7 @@ dependencies { tasks.withType(JavaCompile) { options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated/java") - if (JavaVersion.current().isJava12Compatible()) { - options.compilerArgs += [ "-Asemver.project.dir=$projectDir" ] - } + options.compilerArgs += [ "-Asemver.project.dir=$projectDir" ] } repositories { From 1f7861e314c52eed962067f4a7a106164a2d1ce9 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 30 Jul 2019 15:45:26 -0700 Subject: [PATCH 148/155] Made versions an extra object. --- build.gradle.kts | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index c567349..ad2855a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,7 @@ plugins { id("com.github.ben-manes.versions") version "0.21.0" id("com.gradle.build-scan") version "2.3" id("com.gradle.plugin-publish") version "0.10.1" - id("io.gitlab.arturbosch.detekt") version "1.0.0-RC14" // don't update until kotlin 1.3.401 is supported by Gradle + id("io.gitlab.arturbosch.detekt") version "1.0.0-RC14" // don't update until kotlin 1.3.41 is supported by Gradle id("org.jmailen.kotlinter") version "1.26.0" // don't update until kotlin 1.3.41 supported by Gradle id("org.sonarqube") version "2.7.1" kotlin("jvm") version "1.3.31" @@ -17,13 +17,14 @@ plugins { version = "1.0.4" group = "net.thauvin.erik.gradle" -var github = "https://github.com/ethauvin/semver-gradle" -var packageName = "net.thauvin.erik.gradle.semver" - -object Versions { +object VersionInfo { const val kotlin = "1.3.31" const val spek = "2.0.5" } +val versions: VersionInfo by extra { VersionInfo } + +val github = "https://github.com/ethauvin/semver-gradle" +val packageName = "net.thauvin.erik.gradle.semver" repositories { jcenter() @@ -32,13 +33,13 @@ repositories { dependencies { implementation(gradleApi()) - testImplementation(kotlin("reflect", version = Versions.kotlin)) - testImplementation(kotlin("test", version = Versions.kotlin)) + testImplementation(kotlin("reflect", version = versions.kotlin)) + testImplementation(kotlin("test", version = versions.kotlin)) testImplementation(gradleTestKit()) - testImplementation("org.spekframework.spek2:spek-dsl-jvm:${Versions.spek}") - testRuntimeOnly("org.spekframework.spek2:spek-runner-junit5:${Versions.spek}") - implementation(kotlin("stdlib-jdk8", version = Versions.kotlin)) + testImplementation("org.spekframework.spek2:spek-dsl-jvm:${versions.spek}") + testRuntimeOnly("org.spekframework.spek2:spek-runner-junit5:${versions.spek}") + implementation(kotlin("stdlib-jdk8", version = versions.kotlin)) } tasks { @@ -117,11 +118,3 @@ pluginBundle { artifactId = project.name } } -val compileKotlin: KotlinCompile by tasks -compileKotlin.kotlinOptions { - jvmTarget = "1.8" -} -val compileTestKotlin: KotlinCompile by tasks -compileTestKotlin.kotlinOptions { - jvmTarget = "1.8" -} From 68f42777afc4fdf3656c2403e50947b3837baac1 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 17 Mar 2020 14:57:22 -0700 Subject: [PATCH 149/155] Updated dependencies and copyright. --- .circleci/config.yml | 3 +- .gitignore | 52 +++++++++--------- .idea/copyright/Erik_s_Copyright_Notice.xml | 1 + .idea/jarRepositories.xml | 25 +++++++++ .idea/misc.xml | 8 +++ .idea/scopes/Copyright.xml | 2 +- LICENSE.TXT | 2 +- build.gradle.kts | 25 +++++---- detekt-baseline.xml | 16 ++---- .../annotation-processor/java/build.gradle | 2 +- .../java/gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 58695 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/annotation-processor/java/gradlew | 33 +++++------ .../annotation-processor/java/gradlew.bat | 3 + .../kotlin/build.gradle.kts | 6 +- .../kotlin/gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 58695 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/annotation-processor/kotlin/gradlew | 33 +++++------ .../annotation-processor/kotlin/gradlew.bat | 3 + examples/java/build.gradle | 6 +- .../java/gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 58695 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/java/gradlew | 33 +++++------ examples/java/gradlew.bat | 3 + examples/java/src/main/java/App.java | 2 +- examples/java/src/test/java/AppTest.java | 2 +- examples/kotlin/build.gradle.kts | 6 +- .../kotlin/gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 58695 bytes .../gradle/wrapper/gradle-wrapper.properties | 2 +- examples/kotlin/gradlew | 33 +++++------ examples/kotlin/gradlew.bat | 3 + .../src/main/kotlin/com/example/Main.kt | 2 +- .../src/test/kotlin/com/example/MainTest.kt | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 58695 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 33 +++++------ gradlew.bat | 3 + settings.gradle.kts | 16 ++++++ .../erik/gradle/semver/SemverConfig.kt | 2 +- .../semver/SemverIncrementBuildMetaTask.kt | 2 +- .../erik/gradle/semver/SemverIncrementTask.kt | 2 +- .../erik/gradle/semver/SemverPlugin.kt | 5 +- .../erik/gradle/semver/SortedProperties.kt | 2 +- .../net/thauvin/erik/gradle/semver/Utils.kt | 2 +- .../net/thauvin/erik/gradle/semver/Version.kt | 2 +- .../erik/gradle/semver/SemverConfigSpec.kt | 4 +- .../erik/gradle/semver/SemverVersionSpec.kt | 2 +- .../thauvin/erik/gradle/semver/UtilsSpec.kt | 2 +- 48 files changed, 216 insertions(+), 177 deletions(-) create mode 100644 .idea/jarRepositories.xml diff --git a/.circleci/config.yml b/.circleci/config.yml index 9788a59..6c0190e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,3 +1,4 @@ +version: 2 defaults: &defaults working_directory: ~/repo docker: @@ -7,8 +8,6 @@ defaults: &defaults TERM: dumb CI: true -version: 2.0 - jobs: build_gradle: <<: *defaults diff --git a/.gitignore b/.gitignore index a78c5c2..f007981 100644 --- a/.gitignore +++ b/.gitignore @@ -1,32 +1,14 @@ +.vscode/* !.vscode/extensions.json !.vscode/launch.json !.vscode/settings.json !.vscode/tasks.json -!gradle-wrapper.jar + +__pycache__ .classpath .DS_Store .gradle .history -.idea_modules/ -.idea/**/contentModel.xml -.idea/**/dataSources.ids -.idea/**/dataSources.local.xml -.idea/**/dataSources/ -.idea/**/dbnavigator.xml -.idea/**/dictionaries -.idea/**/dynamic.xml -.idea/**/gradle.xml -.idea/**/libraries -.idea/**/mongoSettings.xml -.idea/**/shelf -.idea/**/sqlDataSources.xml -.idea/**/tasks.xml -.idea/**/uiDesigner.xml -.idea/**/usage.statistics.xml -.idea/**/workspace.xml -.idea/caches/build_file_checksums.ser -.idea/httpRequests -.idea/replstate.xml .kobalt .mtj.tmp/ .mvn/timing.properties @@ -35,20 +17,39 @@ .project .scannerwork .settings -.vscode/* *.class *.code-workspace *.ctxt -*.ear *.iws -*.jar *.log *.nar *.rar *.sublime-* *.tar.gz -*.war *.zip +/**/.idea_modules/ +/**/.idea/**/caches/build_file_checksums.ser +/**/.idea/**/contentModel.xml +/**/.idea/**/dataSources.ids +/**/.idea/**/dataSources.local.xml +/**/.idea/**/dataSources/ +/**/.idea/**/dbnavigator.xml +/**/.idea/**/dictionaries +/**/.idea/**/dynamic.xml +/**/.idea/**/gradle.xml +/**/.idea/**/httpRequests +/**/.idea/**/libraries +/**/.idea/**/mongoSettings.xml +/**/.idea/**/replstate.xml +/**/.idea/**/shelf +/**/.idea/**/shelf/ +/**/.idea/**/sqlDataSources.xml +/**/.idea/**/tasks.xml +/**/.idea/**/uiDesigner.xml +/**/.idea/**/usage.statistics.xml +/**/.idea/**/workspace.xml +/**/.idea/$CACHE_FILE$ +/**/.idea/$PRODUCT_WORKSPACE_FILE$ atlassian-ide-plugin.xml bin/ build/ @@ -80,3 +81,4 @@ release.properties target/ test-output Thumbs.db +venv diff --git a/.idea/copyright/Erik_s_Copyright_Notice.xml b/.idea/copyright/Erik_s_Copyright_Notice.xml index 935baa1..914713f 100644 --- a/.idea/copyright/Erik_s_Copyright_Notice.xml +++ b/.idea/copyright/Erik_s_Copyright_Notice.xml @@ -1,5 +1,6 @@ + diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..f587a3e --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 82f5b1f..939314b 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,14 @@ + + + + + + + diff --git a/.idea/scopes/Copyright.xml b/.idea/scopes/Copyright.xml index edcac0e..5acbcdb 100644 --- a/.idea/scopes/Copyright.xml +++ b/.idea/scopes/Copyright.xml @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/LICENSE.TXT b/LICENSE.TXT index 8ad4ca5..7345551 100644 --- a/LICENSE.TXT +++ b/LICENSE.TXT @@ -1,4 +1,4 @@ -Copyright (c) 2018-2019, Erik C. Thauvin (erik@thauvin.net) +Copyright (c) 2018-2020, Erik C. Thauvin (erik@thauvin.net) All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/build.gradle.kts b/build.gradle.kts index ad2855a..7f3ab4f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,21 +5,20 @@ plugins { `kotlin-dsl` `maven-publish` jacoco - id("com.github.ben-manes.versions") version "0.21.0" - id("com.gradle.build-scan") version "2.3" + id("com.github.ben-manes.versions") version "0.28.0" id("com.gradle.plugin-publish") version "0.10.1" - id("io.gitlab.arturbosch.detekt") version "1.0.0-RC14" // don't update until kotlin 1.3.41 is supported by Gradle - id("org.jmailen.kotlinter") version "1.26.0" // don't update until kotlin 1.3.41 supported by Gradle - id("org.sonarqube") version "2.7.1" - kotlin("jvm") version "1.3.31" + id("io.gitlab.arturbosch.detekt") version "1.6.0" + id("org.jmailen.kotlinter") version "2.3.2" + id("org.sonarqube") version "2.8" + kotlin("jvm") version "1.3.61" } version = "1.0.4" group = "net.thauvin.erik.gradle" object VersionInfo { - const val kotlin = "1.3.31" - const val spek = "2.0.5" + const val kotlin = "1.3.61" + const val spek = "2.0.10" } val versions: VersionInfo by extra { VersionInfo } @@ -33,13 +32,15 @@ repositories { dependencies { implementation(gradleApi()) + implementation(kotlin("stdlib-jdk8", version = versions.kotlin)) + testImplementation(kotlin("reflect", version = versions.kotlin)) testImplementation(kotlin("test", version = versions.kotlin)) testImplementation(gradleTestKit()) testImplementation("org.spekframework.spek2:spek-dsl-jvm:${versions.spek}") testRuntimeOnly("org.spekframework.spek2:spek-runner-junit5:${versions.spek}") - implementation(kotlin("stdlib-jdk8", version = versions.kotlin)) + } tasks { @@ -78,8 +79,8 @@ buildScan { } detekt { - input = files("src/main/kotlin", "src/test/kotlin") - filters = ".*/resources/.*,.*/build/.*" + // input = files("src/main/kotlin", "src/test/kotlin") + // filters = ".*/resources/.*,.*/build/.*" baseline = project.rootDir.resolve("detekt-baseline.xml") } @@ -87,7 +88,7 @@ kotlinter { ignoreFailures = false reporters = arrayOf("html") experimentalRules = false - //disabledRules = arrayOf("import-ordering") + disabledRules = arrayOf("import-ordering") } sonarqube { diff --git a/detekt-baseline.xml b/detekt-baseline.xml index e13abae..237d320 100644 --- a/detekt-baseline.xml +++ b/detekt-baseline.xml @@ -1,16 +1,12 @@ - - - ComplexMethod:Utils.kt$Utils$fun loadProperties(file: File): Properties - ComplexMethod:Utils.kt$Utils$fun parseSemVer(input: String?, version: Version): Boolean - ComplexMethod:Utils.kt$Utils$fun saveProperties(projectDir: File, config: SemverConfig, version: Version) + + MagicNumber:Utils.kt$Utils$3 MagicNumber:Utils.kt$Utils$4 MagicNumber:Utils.kt$Utils$5 - MaxLineLength:SemverPlugin.kt$net.thauvin.erik.gradle.semver.SemverPlugin.kt - NestedBlockDepth:Utils.kt$Utils$fun loadProperties(file: File): Properties - NestedBlockDepth:Utils.kt$Utils$fun parseSemVer(input: String?, version: Version): Boolean - NestedBlockDepth:Utils.kt$Utils$fun saveProperties(projectDir: File, config: SemverConfig, version: Version) + NestedBlockDepth:Utils.kt$Utils$loadProperties + NestedBlockDepth:Utils.kt$Utils$parseSemVer + NestedBlockDepth:Utils.kt$Utils$saveProperties - \ No newline at end of file + diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle index ca55260..b343869 100644 --- a/examples/annotation-processor/java/build.gradle +++ b/examples/annotation-processor/java/build.gradle @@ -2,7 +2,7 @@ plugins { id 'java' id 'application' id 'net.thauvin.erik.gradle.semver' version '1.0.4' - id 'com.github.ben-manes.versions' version '0.21.0' + id 'com.github.ben-manes.versions' version '0.28.0' } // ./gradlew diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar index 5c2d1cf016b3885f6930543d57b744ea8c220a1a..f3d88b1c2faf2fc91d853cd5d4242b5547257070 100644 GIT binary patch delta 22808 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 delta 20005 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 delta 20005 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 delta 20005 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 nvEpR}Ffj;rE}sKLhd|1%F5dI!=ox-rLy2 classUnderTest.getClass().getMethod("main", String[].class)); } -} \ No newline at end of file +} diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index eddf69d..574699d 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -4,10 +4,10 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { - kotlin("jvm").version("1.3.41") + kotlin("jvm").version("1.3.61") application id("net.thauvin.erik.gradle.semver").version("1.0.4") - id("com.github.ben-manes.versions").version("0.21.0") + id("com.github.ben-manes.versions").version("0.28.0") } // ./gradlew @@ -20,7 +20,7 @@ defaultTasks(ApplicationPlugin.TASK_RUN_NAME) dependencies { implementation(kotlin("stdlib")) - testImplementation("org.testng:testng:6.14.3") + testImplementation("org.testng:testng:7.2.0") } repositories { diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.jar b/examples/kotlin/gradle/wrapper/gradle-wrapper.jar index 5c2d1cf016b3885f6930543d57b744ea8c220a1a..f3d88b1c2faf2fc91d853cd5d4242b5547257070 100644 GIT binary patch delta 22808 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 delta 20005 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 nvEpR}Ffj;rE}sKLhd|1%F5dI!=ox-rLy2) { } } } -} \ No newline at end of file +} diff --git a/examples/kotlin/src/test/kotlin/com/example/MainTest.kt b/examples/kotlin/src/test/kotlin/com/example/MainTest.kt index 96458e9..e49aac0 100644 --- a/examples/kotlin/src/test/kotlin/com/example/MainTest.kt +++ b/examples/kotlin/src/test/kotlin/com/example/MainTest.kt @@ -5,4 +5,4 @@ import org.testng.annotations.Test class ExampleTest { @Test fun f() = println("Running test") -} \ No newline at end of file +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 5c2d1cf016b3885f6930543d57b744ea8c220a1a..f3d88b1c2faf2fc91d853cd5d4242b5547257070 100644 GIT binary patch delta 22808 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 delta 20005 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 nvEpR}Ffj;rE}sKLhd|1%F5dI!=ox-rLy2 { val isNew = !exists() project.logger.info( - "[$simpleName] Attempting to read properties from: `$absoluteFile`. [exists: $isNew, isFile: $isFile, canRead: ${canRead()}]" + "[$simpleName] Attempting to read properties from: `$absoluteFile`. " + + "[exists: $isNew, isFile: $isFile, canRead: ${canRead()}]" ) val props = Utils.loadProperties(this) diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt index 388c91d..1a99d15 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/SortedProperties.kt @@ -1,7 +1,7 @@ /* * SortedProperties.kt * - * Copyright (c) 2018-2019, Erik C. Thauvin (erik@thauvin.net) + * Copyright (c) 2018-2020, Erik C. Thauvin (erik@thauvin.net) * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt index 4a0db27..e7cd681 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Utils.kt @@ -1,7 +1,7 @@ /* * Utils.kt * - * Copyright (c) 2018-2019, Erik C. Thauvin (erik@thauvin.net) + * Copyright (c) 2018-2020, Erik C. Thauvin (erik@thauvin.net) * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt index 7982615..eedbf38 100644 --- a/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt +++ b/src/main/kotlin/net/thauvin/erik/gradle/semver/Version.kt @@ -1,7 +1,7 @@ /* * Version.kt * - * Copyright (c) 2018-2019, Erik C. Thauvin (erik@thauvin.net) + * Copyright (c) 2018-2020, Erik C. Thauvin (erik@thauvin.net) * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt index b24bae7..45105a0 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverConfigSpec.kt @@ -1,7 +1,7 @@ /* * SemverConfigSpec.kt * - * Copyright (c) 2018-2019, Erik C. Thauvin (erik@thauvin.net) + * Copyright (c) 2018-2020, Erik C. Thauvin (erik@thauvin.net) * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -40,8 +40,8 @@ import kotlin.test.assertTrue @Suppress("unused") object SemverConfigSpec : Spek({ Feature("SemverConfig") { + val config = SemverConfig(Version()) Scenario("Testing configs") { - val config by memoized { SemverConfig(Version()) } val vars = listOf( config.semverKey, config.majorKey, diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt index f7becf6..3dc5f1e 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/SemverVersionSpec.kt @@ -1,7 +1,7 @@ /* * SemverVersionSpec.kt * - * Copyright (c) 2018-2019, Erik C. Thauvin (erik@thauvin.net) + * Copyright (c) 2018-2020, Erik C. Thauvin (erik@thauvin.net) * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt index 40237ad..72db929 100644 --- a/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt +++ b/src/test/kotlin/net/thauvin/erik/gradle/semver/UtilsSpec.kt @@ -1,7 +1,7 @@ /* * UtilsSpec.kt * - * Copyright (c) 2018-2019, Erik C. Thauvin (erik@thauvin.net) + * Copyright (c) 2018-2020, Erik C. Thauvin (erik@thauvin.net) * All rights reserved. * * Redistribution and use in source and binary forms, with or without From e71f4f60ee7ab5915209cec8eadd3a1cb0591d3c Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 20 Jul 2020 06:09:35 -0700 Subject: [PATCH 150/155] Updated dependencies. --- .idea/compiler.xml | 10 ++++++ .idea/jarRepositories.xml | 5 +++ .idea/misc.xml | 1 + README.md | 2 +- build.gradle.kts | 41 ++++++----------------- detekt-baseline.xml | 12 +++---- gradle/wrapper/gradle-wrapper.jar | Bin 58695 -> 58910 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 2 ++ gradlew.bat | 1 + settings.gradle.kts | 2 +- 11 files changed, 39 insertions(+), 39 deletions(-) create mode 100644 .idea/compiler.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..a4f170c --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index f587a3e..98b5537 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -21,5 +21,10 @@ \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 939314b..692822a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,6 +5,7 @@ +

XiM^r_M1uFTw)(UPqqUJ zed7DJQvOpplYJoNl`A3a2Zr~v)Y}K|*%d7?8;dC*Af}0=(EXrk7hP8PM4v)ZawEv0 z5j5q_6vilv4*ppZ3Wke7%8b`odJu26#YseA?$sP8?@d?TpACTX`G^?%K=Hly9Y$Tj z5`i!}-WH0lQ3yt-&Pf&Z)OxjKfAZ3X`YI2)5o@9EiOA}?kX`^rk;yaOh^Li4VHcT& zd6ztJz^`H!8>cL)a%?Lnofzo0$WPrgkNcP#u@{%~EvA7g#go z+Q4$Q^o_MJTE0G_&9@cgp)WF>2zo>AG}C|(~E^_?ijc2EQ>> zFH1Lxc@i!gDHxvEsrfc+Kiz3Q6Z*NM+U6DH6*-Fv{YDY4>U&eegGH~Xmk~!sd6fw2 z!6^4(MZWhzf(xs6BHy=oS+dir0_JW(j*AIu$9&&p@}T;&6s7(yYidEdkp6pk9}Z(F zk6lG`d!HcJWP{7X)&P5FW;XWU6;zke2e+g*#1kW4L0Auj5pVA45Bhzt{8lj)XyMHu z0p;Q}t*NLnXbGQOTC9WdOQsX;_yLThOP$mzcEbqSBifmDecV;Fqhtm#KxfJTMhY!K zw{1L9za2QtuIWXu0ZYm@Uy72(9^vYajuP$(VAKn+&Jp z!%S;#BqO;02)n~6pFYK8oRC6wXx@kyb?VENM7l?NFg)%^=q4aZ* zwVCZxA8lalF&n`vk#gxD@!9~Aktc+h2UUUax3q2XKQLuL@CpVEpx2IyiH3bALY+Oi zDydtacE1Z|$z5qsCG=%F{}8_ozwieWuM4VcDesuu+wX&YjHm^Ryx)pVtiSLpch7<` zIw9QM%I;(VG9~#Rw2JNt+;?_=O2lA#YSudpgsM`e&(}1 zGdj7U)St4`+Cj#Vn>a;Bj~Q3S1G54;gzq)`b_Hh~ip(`BK#GMkI*RUcK+6ycjl?QN zP%sH5*R$$6A&8j8O4iFJhuHMXLJm|drH+=!_{`60&+tC8*m3Z=YsR@~%eaZyWQI|W zie7;BRL6`LR+4B{%FY~;-^*1GGTCLp!U6VoS36GUAWv$Rcc#|a7DD01{QPB=VyT)? z+1ZV>P=bP1;>v-+j0;BwenO`EKcIbmB3$r*@a~=?5#KB_R$3bTg zOjEutZmWuylIJQEM?28D!4uA#0CZEJHar0TFAW|NwP;WL|EIb_L2>;}e*N!K9E61S zH&u@m!n#CH{C_j}{#ybCRU8z7`Cs{b>@bxSkp3lOm`qAYgB>npnw%V>w}t_+S_Z)s zFhGKq^e%m@=^@sD0CJdAK=`Upbr}?}N zf;snqpt#dOwhxFg82(%Tw=ND+@`O0JGeOWd7-3R8A%Yu%FhiaYXD>p?t2+o%_1CKE z{g(>=g%}X(O%M!}KZK%$7-F<34wD-24`y$WLDv6z?ty=_b)Oi*x&?v}3j0f`AV3HL zWPAYw!XNs-1EmZ9=d=$6LAJISVJ4&gQM5=bh{!f0OmFNz8oMnGgOl_RK5VPP3@87C zpLS$muCo5YTmOslSjFLb`AXIJ@1|O{pm5r z9MxUb-8HMe*|TpFa%dE?+7}MVQ-A-N8wvtq85ROU2%KYt4etC52X0%W08haQgGSU| zvw=K$djTYSLy@4My_Te_8JcZp8Oozg{-ey>*Nm7BkGrX(M~HU6N16U>DSj<`;cy`u zR?0B23zx|*o1V=#fLZ=wd6*NfWjC`pqA^mt>DTZjGBeX`0ZK>Qgxz+37Dyb#NT4WT zl@7Lmh{WdY*h%e_bo6(oXKw=`(9=mft10fOR4< zCOUungtJZPAM~qw4Ydy9PhvYTi1ZRqR5nY)?OX2O3FJ6VXy&`&H%^U|d>N>@f zQ}Cd;DV}_bNiVTW8HcUJDRvXCUwGx|(r2-KbXY>jpd!~jmt(

p*eWM!w;MI3hb2}DlKZV3$r+FsPh`1u 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 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,28 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/examples/java/version.properties b/examples/java/version.properties index 946ba36..f5bf6aa 100644 --- a/examples/java/version.properties +++ b/examples/java/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Wed Jul 24 21:04:08 PDT 2019 -version.buildmeta=20190724210408 +#Fri Sep 25 17:38:33 PDT 2020 +version.buildmeta=20200925173833 version.major=1 version.minor=0 version.patch=0 version.prerelease= -version.semver=1.0.0+20190724210408 +version.semver=1.0.0+20200925173833 diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts index 574699d..d54e882 100644 --- a/examples/kotlin/build.gradle.kts +++ b/examples/kotlin/build.gradle.kts @@ -4,10 +4,10 @@ import java.time.LocalDateTime import java.time.format.DateTimeFormatter plugins { - kotlin("jvm").version("1.3.61") + kotlin("jvm").version("1.4.10") application id("net.thauvin.erik.gradle.semver").version("1.0.4") - id("com.github.ben-manes.versions").version("0.28.0") + id("com.github.ben-manes.versions").version("0.36.0") } // ./gradlew @@ -20,7 +20,7 @@ defaultTasks(ApplicationPlugin.TASK_RUN_NAME) dependencies { implementation(kotlin("stdlib")) - testImplementation("org.testng:testng:7.2.0") + testImplementation("org.testng:testng:7.3.0") } repositories { @@ -29,6 +29,9 @@ repositories { application { mainClassName = "com.example.MainKt" +// project.afterEvaluate { +// println("Version: $version") +// } } semver { diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.jar b/examples/kotlin/gradle/wrapper/gradle-wrapper.jar index f3d88b1c2faf2fc91d853cd5d4242b5547257070..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f 100644 GIT binary patch delta 12842 zcmY+q1ymhDmoSOmQr324hm`&0SZbS3R18r37J8Z0F-T>@gIK` zatajf2b1lO#&E_RnGDF51uk%8Wcxm3`%Yhe7Psx?*?eZ?8M9_+G(?L=s^OG1n#S(NP3gF?2Mr2^f5E7sM~iVC`Rn;(-^MZ zZu*ZXB;XmgvPls(e#)MMTObsEx9oNz-K?AmQ8pP&P7vqx*=5zxjU+ye_1R<%KSg1? z7H&Yh))(Ke!Pa+aVuWxPKa_~Qo_IH}*;tV8n~O*Xa?t3P^9=L%=wOL1=~{LVv}mU8Q#e6s>v}iV8cDP|EdY)`dp≶7^21 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

XiM^r_M1uFTw)(UPqqUJ zed7DJQvOpplYJoNl`A3a2Zr~v)Y}K|*%d7?8;dC*Af}0=(EXrk7hP8PM4v)ZawEv0 z5j5q_6vilv4*ppZ3Wke7%8b`odJu26#YseA?$sP8?@d?TpACTX`G^?%K=Hly9Y$Tj z5`i!}-WH0lQ3yt-&Pf&Z)OxjKfAZ3X`YI2)5o@9EiOA}?kX`^rk;yaOh^Li4VHcT& zd6ztJz^`H!8>cL)a%?Lnofzo0$WPrgkNcP#u@{%~EvA7g#go z+Q4$Q^o_MJTE0G_&9@cgp)WF>2zo>AG}C|(~E^_?ijc2EQ>> zFH1Lxc@i!gDHxvEsrfc+Kiz3Q6Z*NM+U6DH6*-Fv{YDY4>U&eegGH~Xmk~!sd6fw2 z!6^4(MZWhzf(xs6BHy=oS+dir0_JW(j*AIu$9&&p@}T;&6s7(yYidEdkp6pk9}Z(F zk6lG`d!HcJWP{7X)&P5FW;XWU6;zke2e+g*#1kW4L0Auj5pVA45Bhzt{8lj)XyMHu z0p;Q}t*NLnXbGQOTC9WdOQsX;_yLThOP$mzcEbqSBifmDecV;Fqhtm#KxfJTMhY!K zw{1L9za2QtuIWXu0ZYm@Uy72(9^vYajuP$(VAKn+&Jp z!%S;#BqO;02)n~6pFYK8oRC6wXx@kyb?VENM7l?NFg)%^=q4aZ* zwVCZxA8lalF&n`vk#gxD@!9~Aktc+h2UUUax3q2XKQLuL@CpVEpx2IyiH3bALY+Oi zDydtacE1Z|$z5qsCG=%F{}8_ozwieWuM4VcDesuu+wX&YjHm^Ryx)pVtiSLpch7<` zIw9QM%I;(VG9~#Rw2JNt+;?_=O2lA#YSudpgsM`e&(}1 zGdj7U)St4`+Cj#Vn>a;Bj~Q3S1G54;gzq)`b_Hh~ip(`BK#GMkI*RUcK+6ycjl?QN zP%sH5*R$$6A&8j8O4iFJhuHMXLJm|drH+=!_{`60&+tC8*m3Z=YsR@~%eaZyWQI|W zie7;BRL6`LR+4B{%FY~;-^*1GGTCLp!U6VoS36GUAWv$Rcc#|a7DD01{QPB=VyT)? z+1ZV>P=bP1;>v-+j0;BwenO`EKcIbmB3$r*@a~=?5#KB_R$3bTg zOjEutZmWuylIJQEM?28D!4uA#0CZEJHar0TFAW|NwP;WL|EIb_L2>;}e*N!K9E61S zH&u@m!n#CH{C_j}{#ybCRU8z7`Cs{b>@bxSkp3lOm`qAYgB>npnw%V>w}t_+S_Z)s zFhGKq^e%m@=^@sD0CJdAK=`Upbr}?}N zf;snqpt#dOwhxFg82(%Tw=ND+@`O0JGeOWd7-3R8A%Yu%FhiaYXD>p?t2+o%_1CKE z{g(>=g%}X(O%M!}KZK%$7-F<34wD-24`y$WLDv6z?ty=_b)Oi*x&?v}3j0f`AV3HL zWPAYw!XNs-1EmZ9=d=$6LAJISVJ4&gQM5=bh{!f0OmFNz8oMnGgOl_RK5VPP3@87C zpLS$muCo5YTmOslSjFLb`AXIJ@1|O{pm5r z9MxUb-8HMe*|TpFa%dE?+7}MVQ-A-N8wvtq85ROU2%KYt4etC52X0%W08haQgGSU| zvw=K$djTYSLy@4My_Te_8JcZp8Oozg{-ey>*Nm7BkGrX(M~HU6N16U>DSj<`;cy`u zR?0B23zx|*o1V=#fLZ=wd6*NfWjC`pqA^mt>DTZjGBeX`0ZK>Qgxz+37Dyb#NT4WT zl@7Lmh{WdY*h%e_bo6(oXKw=`(9=mft10fOR4< zCOUungtJZPAM~qw4Ydy9PhvYTi1ZRqR5nY)?OX2O3FJ6VXy&`&H%^U|d>N>@f zQ}Cd;DV}_bNiVTW8HcUJDRvXCUwGx|(r2-KbXY>jpd!~jmt(

p*eWM!w;MI3hb2}DlKZV3$r+FsPh`1u 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 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,28 +64,14 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties index 568c94e..98e937a 100644 --- a/examples/kotlin/version.properties +++ b/examples/kotlin/version.properties @@ -1,8 +1,8 @@ #Generated by the Semver Plugin for Gradle -#Wed Jul 24 21:05:40 PDT 2019 -version.buildmeta=20190724210540 +#Mon Nov 09 21:24:16 PST 2020 +version.buildmeta=20201109212416 version.major=1 version.minor=2 version.patch=4 version.prerelease=beta -version.semver=1.2.4-beta+20190724210540 +version.semver=1.2.4-beta+20201109212416 diff --git a/examples/test/build.gradle b/examples/test/build.gradle index 59a6637..9813e76 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -4,7 +4,7 @@ buildscript { mavenCentral() } dependencies { - classpath "net.thauvin.erik.gradle:semver:1.0.4" + classpath "net.thauvin.erik.gradle:semver:1.0.5-beta" } } @@ -14,7 +14,7 @@ apply plugin: 'net.thauvin.erik.gradle.semver' mainClassName = 'App' -version = 1.0 +//version = 1.0 def f = new File("version.properties") @@ -30,6 +30,13 @@ repositories { jcenter() } +application { + println(project.version) + project.afterEvaluate { + println(project.version) + } +} + incrementBuildMeta { doFirst { @@ -45,6 +52,10 @@ run { } } +task echoVersion(type:Exec) { + commandLine "echo", "${-> version}" +} + semver { properties = "${f.name}" keysPrefix = f.name.substring(0, f.name.indexOf(".") + 1) diff --git a/examples/test/src/test/java/AppTest.java b/examples/test/src/test/java/AppTest.java deleted file mode 100644 index 7bd2702..0000000 --- a/examples/test/src/test/java/AppTest.java +++ /dev/null @@ -1,15 +0,0 @@ -/* - * This Java source file was generated by the Gradle 'init' task. - */ - -import org.junit.Test; - -import static org.junit.Assert.*; - -public class AppTest { - @Test - public void testAppHasAGreeting() { - App classUnderTest = new App(); - assertNotNull("app should have a greeting", classUnderTest.getGreeting()); - } -} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 62d4c053550b91381bbd28b1afc82d634bf73a8a..e708b1c023ec8b20f512888fe07c5bd3ff77bb8f 100644 GIT binary patch delta 6656 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 Yte!%o?r4GTrVtxD61Ym!|5fq-1K$0e!T1w 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index bb8b2fc..be52383 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.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index fbd7c51..4f906e0 100755 --- a/gradlew +++ b/gradlew @@ -130,7 +130,7 @@ fi if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - + JAVACMD=`cygpath --unix "$JAVACMD"` # We build the pattern for arguments to be converted via cygpath diff --git a/gradlew.bat b/gradlew.bat index 5093609..107acd3 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if "%ERRORLEVEL%" == "0" goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -54,7 +54,7 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute echo. echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% @@ -64,21 +64,6 @@ echo location of your Java installation. goto fail -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - :execute @rem Setup the command line @@ -86,7 +71,7 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell From 3e70a53714ecf679c93c6ef8e0e385ed7e6cece0 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 10 Nov 2020 11:00:15 -0800 Subject: [PATCH 153/155] Updated CI configurations. --- .gitlab-ci.yml | 31 +++++++++++++++++++++++++++++++ .travis.yml | 10 +++------- bitbucket-pipelines.yml | 9 +++++++++ 3 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 .gitlab-ci.yml create mode 100644 bitbucket-pipelines.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..26820aa --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,31 @@ +image: gradle:alpine + +variables: + GRADLE_OPTS: "-Dorg.gradle.daemon=false" + +before_script: + - export GRADLE_USER_HOME=`pwd`/.gradle + +stages: + - build + - test + +build: + stage: build + script: ./gradlew --build-cache assemble + cache: + key: "$CI_COMMIT_REF_NAME" + policy: push + paths: + - build + - .gradle + +test: + stage: test + script: ./gradlew check + cache: + key: "$CI_COMMIT_REF_NAME" + policy: pull + paths: + - build + - .gradle diff --git a/.travis.yml b/.travis.yml index 55ff953..4a40469 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,6 @@ language: java dist: trusty -env: - global: - - CI=true - jdk: - oraclejdk8 @@ -29,6 +25,6 @@ cache: after_success: - | - if [ "${TRAVIS_TEST_RESULT}" == 0 ]; then - ./gradlew sonarqube - fi + if [ "${TRAVIS_TEST_RESULT}" == 0 ]; then + ./gradlew sonarqube + fi diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml new file mode 100644 index 0000000..7d98402 --- /dev/null +++ b/bitbucket-pipelines.yml @@ -0,0 +1,9 @@ +image: openjdk:8 + +pipelines: + default: + - step: + caches: + - gradle + script: + - bash ./gradlew check From 65a38facdaac774ccdf24159377ead8d040013f8 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 10 Nov 2020 11:03:48 -0800 Subject: [PATCH 154/155] Added workaround "unspecified" version. Closes #9 --- README.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 51b8757..e40d91b 100644 --- a/README.md +++ b/README.md @@ -250,7 +250,9 @@ The values stored in the version properties file can individually be accessed us ```gradle fooTask { - println "Build: $semver.buildMeta" + doFirst { + println "Build: $semver.buildMeta" + } } ``` @@ -269,6 +271,29 @@ Property | Description `semver.buildMetaPrefix` | The build metadata prefix `semver.separator` | The version separator. +## Version is "unspecified" + +This is a common problem steaming from the configuration and build phases in Gradle. + +It is always preferable to access to version during the execution stage, in a `doFirst` or `doLast` closure within your tasks: + +```gradle +task foo() { + doFirst { + println project.version + } +} +``` + +or if absolutely necessary, at the end of the configuration stage in a `project.afterEvaluate` block: + +```gradle +foo { + project.afterEvaluate { + println project.version + } +} +``` ## Source Code Generation From 74406313253ff4bf9c4b910bd696f8dacc860d46 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Tue, 10 Nov 2020 11:40:22 -0800 Subject: [PATCH 155/155] Fixed typo. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e40d91b..681d9b4 100644 --- a/README.md +++ b/README.md @@ -273,7 +273,7 @@ Property | Description ## Version is "unspecified" -This is a common problem steaming from the configuration and build phases in Gradle. +This is a common problem stemming from the configuration and build phases in Gradle. It is always preferable to access to version during the execution stage, in a `doFirst` or `doLast` closure within your tasks: