@@ -156,6 +156,26 @@ let copyModules = BuildTask.create "CopyModules" [ npmInstall ] {
156156// "Fable.Repl.Lib.fsproj"
157157// }
158158
159+ let updatePreludeREPLVersion = BuildTask.create " UpdateREPLVersion" [ ] {
160+ let newVersion = Changelog.getLastVersion()
161+
162+ let reg = Regex( @" let \[<Literal>\] REPL_VERSION = "" (.*)"" " )
163+ let newLines =
164+ PRELUDE_ FILE
165+ |> File.ReadLines
166+ |> Seq.map ( fun line ->
167+ reg.Replace( line, fun m ->
168+ let previousVersion = m.Groups.[ 1 ]. Value
169+ if previousVersion = newVersion then
170+ failwith " You need to update the version in the CHANGELOG.md before publishing a new version of the REPL"
171+ else
172+ m.Groups.[ 0 ]. Value.Replace( m.Groups.[ 1 ]. Value, newVersion)
173+ )
174+ )
175+ |> Seq.toArray
176+
177+ File.WriteAllLines( PRELUDE_ FILE, newLines)
178+ }
159179
160180let buildLib = BuildTask.create " BuildLib" [ copyModules ] {
161181 Npm.run " build-lib" id
@@ -186,46 +206,29 @@ let buildLib = BuildTask.create "BuildLib" [ copyModules ] {
186206 File.WriteAllLines( file, newLines)
187207}
188208
189- let buildApp = BuildTask.create " BuildApp" [ buildLib ] {
209+ let buildApp = BuildTask.create " BuildApp" [ updatePreludeREPLVersion.IfNeeded ; buildLib ] {
190210 Npm.run " build" id
191211}
192212
193213let watchApp = BuildTask.create " WatchApp" [ buildLib ] {
194214 Npm.run " start" id
195215}
196216
197- let _release = BuildTask.create " Release" [ buildApp ] {
217+ let _release = BuildTask.create " Release" [ updatePreludeREPLVersion ; buildApp ] {
198218 let token =
199219 match Environment.environVarOrDefault " GITHUB_TOKEN" " " with
200220 | s when not ( String.IsNullOrWhiteSpace s) -> s
201221 | _ -> failwith " The Github token must be set in a GITHUB_TOKEN environmental variable"
202222
203- let newVersion = Changelog.getLastVersion()
204-
205- let reg = Regex( @" let \[<Literal>\] REPL_VERSION = "" (.*)"" " )
206- let newLines =
207- PRELUDE_ FILE
208- |> File.ReadLines
209- |> Seq.map ( fun line ->
210- reg.Replace( line, fun m ->
211- let previousVersion = m.Groups.[ 1 ]. Value
212- if previousVersion = newVersion then
213- failwith " You need to update the version in the CHANGELOG.md before publishing a new version of the REPL"
214- else
215- m.Groups.[ 0 ]. Value.Replace( m.Groups.[ 1 ]. Value, newVersion)
216- )
217- )
218- |> Seq.toArray
219-
220- File.WriteAllLines( PRELUDE_ FILE, newLines)
223+ let version = Changelog.getLastVersion()
221224
222225 Git.Staging.stageAll CWD
223- let commitMsg = sprintf " Release version %s " newVersion
226+ let commitMsg = sprintf " Release version %s " version
224227 Git.Commit.exec CWD commitMsg
225228 Git.Branches.push CWD
226229
227230 GitHub.createClientWithToken token
228- |> GitHub.draftNewRelease " fable-compiler" " repl" newVersion ( Changelog.isPreRelease newVersion ) ( Changelog.getNotes newVersion )
231+ |> GitHub.draftNewRelease " fable-compiler" " repl" version ( Changelog.isPreRelease version ) ( Changelog.getNotes version )
229232 // |> GitHub.uploadFile nupkg
230233 |> GitHub.publishDraft
231234 |> Async.RunSynchronously
0 commit comments