@@ -47,24 +47,28 @@ fun buildNum(): Int {
4747 }
4848}
4949
50- fun majorNumber (): Int {
51- return if (project.hasProperty(" MAJOR_NUMBER " )) {
52- project.property(" MAJOR_NUMBER " ).toString().toInt ()
50+ fun versionTag (): String {
51+ return if (project.hasProperty(" VERSION_TAG " )) {
52+ project.property(" VERSION_TAG " ).toString()
5353 } else {
54- extra[ " versionMajor " ] as Int
54+ " 0.0.0 "
5555 }
5656}
5757
58- fun isInternalBuild (): Boolean {
59- return majorNumber() == 0
60-
58+ fun isPublicRelease (): Boolean {
59+ return if (project.hasProperty(" IS_PUBLIC_RELEASE" )) {
60+ project.property(" IS_PUBLIC_RELEASE" ).toString().toBoolean()
61+ } else {
62+ false
63+ }
6164}
6265
6366fun apiVersion (): String {
64- return if (isInternalBuild()) {
65- " ${majorNumber()} .${extra[" versionMedium" ]} .${extra[" versionMinorPublished" ]} -${buildNum()} " // internal build's buildNum is action build number
67+ val tag = versionTag().removePrefix(" v" ) // Remove "v" prefix for Maven compatibility
68+ return if (isPublicRelease()) {
69+ tag // Public release: use tag version directly (e.g., "1.3.1")
6670 } else {
67- " ${majorNumber()} . ${extra[ " versionMedium " ]} . ${ buildNum()}" // release build's buildNum is extracted from the git tag
71+ " ${tag} - ${ buildNum()}" // Internal build: tag + build number (e.g., "1.3.1-35")
6872 }
6973}
7074
@@ -109,7 +113,7 @@ android {
109113 minSdk = 28
110114 version = libraryVersion()
111115 buildConfigField(" String" , " version" , " \" ${version} \" " )
112- buildConfigField(" boolean" , " INTERNAL_BUILD" , " ${isInternalBuild ()} " )
116+ buildConfigField(" boolean" , " INTERNAL_BUILD" , " ${! isPublicRelease ()} " )
113117 testInstrumentationRunner = " androidx.test.runner.AndroidJUnitRunner"
114118 testInstrumentationRunnerArguments + = mapOf (
115119 " notPackage" to " com.circle.modularwallets.core.manual"
0 commit comments