From e5e6d9c383ef901c4c5dd06b70f004d712fd6a49 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Wed, 6 Jul 2016 20:02:53 -0700 Subject: [PATCH] More with kobalt. --- example/kobalt/src/Build.kt | 42 +++++++++++++++++++++++---- example/libs/example-3.1.39+beta.jar | Bin 3266 -> 0 bytes example/libs/example-3.1.45+beta.jar | Bin 0 -> 3271 bytes example/version.properties | 13 +++++---- 4 files changed, 43 insertions(+), 12 deletions(-) delete mode 100644 example/libs/example-3.1.39+beta.jar create mode 100644 example/libs/example-3.1.45+beta.jar diff --git a/example/kobalt/src/Build.kt b/example/kobalt/src/Build.kt index a703f44..f29fbcb 100644 --- a/example/kobalt/src/Build.kt +++ b/example/kobalt/src/Build.kt @@ -1,17 +1,23 @@ -import java.util.Properties import java.io.FileInputStream +import java.io.FileOutputStream +import java.lang.NumberFormatException +import java.util.Properties import com.beust.kobalt.* -import com.beust.kobalt.plugin.packaging.* +import com.beust.kobalt.api.annotation.Task +import com.beust.kobalt.api.Project import com.beust.kobalt.plugin.application.* -import com.beust.kobalt.plugin.java.* import com.beust.kobalt.plugin.apt.* +import com.beust.kobalt.plugin.java.* +import com.beust.kobalt.plugin.packaging.* val repos = repos() val p = project { - fun getVersion(isIncremental: Boolean = false): String { + name = "example" + + fun getVersion(isIncrement: Boolean = false): String { val propsFile = "version.properties" val majorKey = "version.major" val minorKey = "version.minor" @@ -31,10 +37,28 @@ val p = project { if (prerelease.length > 0) { prerelease.insert(0, "+"); } - return (p.getProperty(majorKey, "1") + "." + p.getProperty(minorKey, "0") + "." + p.getProperty(patchKey, "0") + prerelease + metadata) + + val value = p.getProperty(patchKey, "0"); + val patch: String? + + if (isIncrement) { + patch = try { + (value.toInt() + 1).toString(); + } catch (e: NumberFormatException) { + "0" + } + + FileOutputStream(propsFile).use { output -> + p.setProperty(patchKey, patch) + p.store(output, "") + } + } else { + patch = value; + } + + return (p.getProperty(majorKey, "1") + "." + p.getProperty(minorKey, "0") + "." + patch + prerelease + metadata) } - name = "example" version = getVersion() val mainClassName = "net.thauvin.erik.semver.example.Example" @@ -69,3 +93,9 @@ val p = project { mainClass = mainClassName } } + +@Task(name = "release", dependsOn = arrayOf("clean"), description = "Releases new version.") +fun taskRelease(project: Project): TaskResult { + project.version = project.getVersion(true) + return TaskResult() +} diff --git a/example/libs/example-3.1.39+beta.jar b/example/libs/example-3.1.39+beta.jar deleted file mode 100644 index 7a74f49ace70311bd38203ecbd5b3343adcc6ec1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3266 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 Q$%#?}&=dfG7Q^Z4U%u6?zyJUM diff --git a/example/libs/example-3.1.45+beta.jar b/example/libs/example-3.1.45+beta.jar new file mode 100644 index 0000000000000000000000000000000000000000..bc1d77bc098e3c62ba4bc76ecb013587edfc3df9 GIT binary patch literal 3271 zcmbW3cTiK?7KcL-=}1)&LXnOMy@`SlLcjo00w}$Oav?zjQWOG6KtZGl0i;L^N_+Gs zpj0UdML^=k{$ zFW~~v0*s&tZIFSno~)6!v4I}c904}cqx1m)yGA6UAshsL%K`^U50D0{&E!TE=axSk zkw_zV1`IBO>&$xKptmx;`WHb&(g+;XM;enc?gzm^!|*bF5~#=Eop0n&vu(32zyyAp zK159G75uoh@$qHymmdT=ev3x>$@+OX-SPKC%OWwJUb4POls^(9iwtx^-SS4tLjSmf zUA&!qeIw1MjXAZsD22)3(vs2pIoy60H6QT)?6d@^L8r*s98qP_&cI57i@?T~%7^!K z!8C#}*-1SP!PW-~*`6imJp8}|+0V8!4+he!wXoPD);V?+KU=6-N54F2?V%%@zy6j@ zMA3z)f;f$alA3$hNHV*xhJj@LHZwPCF{F~K@IG7>*J;pv*1ruGX=Xuyw8`s%ni^S+d*;x(R?RsIHsDyetcj**$7QlWbNa zAa@H|;zoROjcE;0{Jm0DD`X;Bk4DOE1!5r(s-}VI^mMSYt408IW7q3 z2E20K4W}bJVOws=I1TAC}@r< zVpW0gsYx@0cP-0kMH#~5lnuy)S*NW~*K~Bod#eDh+N6R=HTc&Olr!(wJyu#n-(jH3SMiDcHQH2!2E*6=r|SuB+Kj`zj}0+t$Nn zO40H)gsw66j>xTfs6fn6r$pM=PD?cCo8toPTLH$WJo#?z1%tvtJ(cddyQ3;u9=W?r@B| zJx+;@dftMU(fw04W7o9#f(MrJBd&THhUnwAHyVasTTbmJHb5P=B}0Vy^mbTh2S2S4qvETl1g-pOqSy7o>xYEjkyZ zt|#tmt-8ZQEL=3AK-jHMRw*-bS}>R*&eq_n^-qHifazg>i$;+fy7xxJ}U9f{5nnw$2|P?VQ@ zqVf7c+ib!B%jQZ{K>n4YOy<$oBl!+Z@tU}OMB@D~?7bVjq8;+Rk&60Q@g#?bOXIB3 zaq4`~M@!a9BGiHl3oAn4&Bf0SH&KY=d6eR6Z*M}+^5M+4zfw3Siv6AEF=RO5g;m8kr z14?Tz-`ajS+tE}>zVBd5Rmdc|O==1!8XjiCymp?D1k>jbG`-7aL#nvS;d3z}6XR&B z)2S-j5K0$8)v&AHd^Cp*-nQ#_t@vfNkH%-&{@#fDrFL|^^U`cCh%SmC21(wcudWaZ zu)Loyz{5j{%S&5$7+-~6DD=4Bmw09% ztRjr5KT{Dh);e3fiL-4z{>^XQde1v*9Y^R>V!4YQ;lTetlDDQnB?*bj^F_fDKiI*6L*ioLK*X^ANW>xd_iR$a3(nBP9-9}d0R8iD9b&( z_eO8Qd8n%X*je$^tnZR_pBl*1_N=6GJ*FQM-RGL6cHbtT-3xD^YJZpZR<|7=y{p*+b9Tc#ph!?S%L-)HuPGzuy?edVTQh* zzX7E%hypsd;;Z|wJl_XbPgvIl%@pDyl7}&7Vs4R1r(zck4vu6MI}j);F`uswm6s{g zp;D=VYywBY5fV(lZ(o=3l0SN(nYz{A#O6RpOsW68lFird@OrOYb8uxOGGNho`uy+f z6DrzA{Qjtw2RI?Yx7?aiWjRvmuC`Hl7xe=U7n^BK951=fhk8RRAj*AU=fFdaFH55z zbAj){i*2=zyES(6_Fm~U$iv4s`!vhtiLnOF7O<=(-d80%Ojm-NT7Y}=otJ{t`1jtG z#}9Yx_nN}5WLh8uX7>5ZtD>hikpYI!!HCBQ^E~uoTcUtuBewgf3TRzYscHZ9{<|J8 zjPi;{T(uj&S1wH5ZMkUi#WN+K&x#zXvl4hW)&(8)GQIGbl3-h)N#0iNiA~8QBalEDfRQlg5&7XVxdO#c|D(qVFiqg6 Uj!6tSK2chL2NeKdz;v?uC(?