diff --git a/examples/java/gradle.properties/build.gradle b/examples/java/gradle.properties/build.gradle new file mode 100644 index 0000000..4ba288e --- /dev/null +++ b/examples/java/gradle.properties/build.gradle @@ -0,0 +1,29 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * This generated file contains a sample Java Library project to get you started. + * For more details take a look at the Java Libraries chapter in the Gradle + * User Manual available at https://docs.gradle.org/6.1.1/userguide/java_library_plugin.html + */ + +plugins { + // Apply the java-library plugin to add support for Java Library + id 'java-library' +} + +repositories { + // Use jcenter for resolving dependencies. + // You can declare any Maven/Ivy/file repository here. + jcenter() +} + +dependencies { + // This dependency is exported to consumers, that is to say found on their compile classpath. + api 'org.apache.commons:commons-math3:3.6.1' + + // This dependency is used internally, and not exposed to consumers on their own compile classpath. + implementation 'com.google.guava:guava:28.1-jre' + + // Use JUnit test framework + testImplementation 'junit:junit:4.12' +} diff --git a/examples/java/gradle.properties/gradle.properties b/examples/java/gradle.properties/gradle.properties new file mode 100644 index 0000000..cc6016e --- /dev/null +++ b/examples/java/gradle.properties/gradle.properties @@ -0,0 +1 @@ +version=1.3.2 diff --git a/newrelver.go b/newrelver.go index 7aff653..97a3cef 100644 --- a/newrelver.go +++ b/newrelver.go @@ -21,9 +21,9 @@ const VersionNumberRegex = `[\.\d]+(-\w+)?` // // The %s is replaced with VersionNumberRegex. const ( - VersionsGradleRegexf = `(?m)project\.version\s*=\s*['"](%s)['"]$` + ConfigRegexf = `(?m)^version\s*=\s*(%s)$` BuildGradleRegexf = `(?m)^version\s*=\s*['"](%s)['"]$` - SetupCfgRegexf = `(?m)^version\s*=\s*(%s)$` + VersionsGradleRegexf = `(?m)project\.version\s*=\s*['"](%s)['"]$` SetupPyRegexf = `(?ms)setup\(.*\s+version\s*=\s*['"](%s)['"].*\)$` CMakeListsTxtRegexf = `(?ms)^project\s*\(.*\s+VERSION\s+(%s).*\)$` MakefileRegexf = `(?m)^VERSION\s*:=\s*(%s)$` @@ -32,15 +32,16 @@ const ( type findVersion func([]byte) (string, error) var versionFiles = map[string]findVersion{ - "versions.gradle": versionMatcher(VersionsGradleRegexf, 1), - "build.gradle": versionMatcher(BuildGradleRegexf, 1), - "build.gradle.kts": versionMatcher(BuildGradleRegexf, 1), - "pom.xml": unmarshalXMLVersion, - "package.json": unmarshalJSONVersion, - "setup.cfg": versionMatcher(SetupCfgRegexf, 1), - "setup.py": versionMatcher(SetupPyRegexf, 1), - "CMakeLists.txt": versionMatcher(CMakeListsTxtRegexf, 1), - "Makefile": versionMatcher(MakefileRegexf, 1), + "gradle.properties": versionMatcher(ConfigRegexf, 1), + "build.gradle": versionMatcher(BuildGradleRegexf, 1), + "build.gradle.kts": versionMatcher(BuildGradleRegexf, 1), + "versions.gradle": versionMatcher(VersionsGradleRegexf, 1), + "pom.xml": unmarshalXMLVersion, + "package.json": unmarshalJSONVersion, + "setup.cfg": versionMatcher(ConfigRegexf, 1), + "setup.py": versionMatcher(SetupPyRegexf, 1), + "CMakeLists.txt": versionMatcher(CMakeListsTxtRegexf, 1), + "Makefile": versionMatcher(MakefileRegexf, 1), } func versionMatcher(regexf string, group int) findVersion { diff --git a/newrelver_test.go b/newrelver_test.go index b1e3ad9..14bd74d 100644 --- a/newrelver_test.go +++ b/newrelver_test.go @@ -337,6 +337,17 @@ func TestVersionsGradle(t *testing.T) { assert.Equal(t, "1.2.3", v.String()) } +func TestGradleProperties(t *testing.T) { + r := NewRelVer{ + Dir: "examples/java/gradle.properties", + } + + v, err := r.GetBaseVersion() + assert.NoError(t, err) + + assert.Equal(t, "1.3.2", v.String()) +} + func TestBuildGradle(t *testing.T) { r := NewRelVer{ Dir: "examples/java/build.gradle",