I realized I was wrong just after posting that email.
Then I figured the way using environment variables, but hesitated because I
never made the `create-embedding-executable` work if more arguments are
passed to it.

Vincent's way delights me.

On Fri, Jan 6, 2017 at 10:42 AM, Alex Harsanyi <alexharsa...@gmail.com>
wrote:

> Perhaps I should have clarified this better, but
>
> My application is an executable built with "create-embedding-executable",
> not a package, I'm not sure that the info.rkt can be compiled and packaged
> inside an exe.
>
> I would like to have this information compiled as a .zo file and embedded
> into this executable, so it cannot easily changed. My current solution is
> writing a separate file which is read at run-time, similar to what you
> proposed, but this has the downside that one can change the version just by
> editing the file.
>
> For reference, the application is https://github.com/alex-hhh/ActivityLog2,
> you can have a look at build.rkt for how it is currently done (it creates
> the file build-id.txt).
>
> Cheers,
> Alex.
>
> On Friday, January 6, 2017 at 10:31:43 AM UTC+8, WarGrey Gyoudmon Ju wrote:
> > A racket application usually has an `info.rkt` file in the root
> directory of the project/package/collection.
> > see https://docs.racket-lang.org/raco/getinfo.html
> >
> >
> > You can put your meta information in that file than read it with
> (get-info/full dirpath) which returns a function that works like `hash-ref`.
> >
> >
> > I recommend that way, there are also other alternatives.
> > One that match your example is, just (write)ing a racket list into
> "app-version.rktl" (note, "rktl" is also a conventional name, the "l"
> stands for "load"),
> > then you can (read) back it:
> >
> >
> >
> > (match-define (list app-version app-commit-id app-build-date)
> >   (with-handlers ([exn:fail:filesystem? (lambda [e] (list "dev build"
> "unknown" "no build"))])
> >     (call-with-input-file "app-version.rkt" read)))
> >
> >
> > This alternative is simpler than the one using `info.rkt` when you
> update the meta information programmatically.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to