www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - How to use version in dub?

reply Leonardo A <leotada523 gmail.com> writes:
Hello. How to use version in dub?

https://dlang.org/spec/version.html
"The version level and version identifier can be set on the 
command line by the -version"

I tried everything but noting.
Dec 13 2022
parent reply torhu <torhu yahoo.com> writes:
On Tuesday, 13 December 2022 at 19:28:44 UTC, Leonardo A wrote:
 Hello. How to use version in dub?

 https://dlang.org/spec/version.html
 "The version level and version identifier can be set on the 
 command line by the -version"

 I tried everything but noting.
In SDL syntax, either at the top level, in a configuration, or build type: ``` versions "something" "other" ```
Dec 13 2022
parent reply torhu <torhu yahoo.com> writes:
On Tuesday, 13 December 2022 at 19:50:15 UTC, torhu wrote:
 On Tuesday, 13 December 2022 at 19:28:44 UTC, Leonardo A wrote:
 Hello. How to use version in dub?

 https://dlang.org/spec/version.html
 "The version level and version identifier can be set on the 
 command line by the -version"

 I tried everything but noting.
In SDL syntax, either at the top level, in a configuration, or build type: ``` versions "something" "other" ```
To be more clear: When using dub you need to put this in the dub file, dub.sdl or dub.json. If you want to be able to choose from the command line, use a configuration: ``` configuration "something" { versions "something" } ``` Then you can do: ``` dub build -c=something ```
Dec 13 2022
parent reply ryuukk_ <ryuukk.dev gmail.com> writes:
On Tuesday, 13 December 2022 at 20:01:40 UTC, torhu wrote:
 On Tuesday, 13 December 2022 at 19:50:15 UTC, torhu wrote:
 On Tuesday, 13 December 2022 at 19:28:44 UTC, Leonardo A wrote:
 Hello. How to use version in dub?

 https://dlang.org/spec/version.html
 "The version level and version identifier can be set on the 
 command line by the -version"

 I tried everything but noting.
In SDL syntax, either at the top level, in a configuration, or build type: ``` versions "something" "other" ```
To be more clear: When using dub you need to put this in the dub file, dub.sdl or dub.json. If you want to be able to choose from the command line, use a configuration: ``` configuration "something" { versions "something" } ``` Then you can do: ``` dub build -c=something ```
How can this be the official solution? It should be as easy as dub build -v "something"
Dec 13 2022
next sibling parent Steven Schveighoffer <schveiguy gmail.com> writes:
On 12/13/22 3:35 PM, ryuukk_ wrote:
 On Tuesday, 13 December 2022 at 20:01:40 UTC, torhu wrote:
 On Tuesday, 13 December 2022 at 19:50:15 UTC, torhu wrote:
 On Tuesday, 13 December 2022 at 19:28:44 UTC, Leonardo A wrote:
 Hello. How to use version in dub?

 https://dlang.org/spec/version.html
 "The version level and version identifier can be set on the command 
 line by the -version"

 I tried everything but noting.
In SDL syntax, either at the top level, in a configuration, or build type: ``` versions "something" "other" ```
To be more clear: When using dub you need to put this in the dub file, dub.sdl or dub.json. If you want to be able to choose from the command line, use a configuration: ``` configuration "something" {     versions "something" } ``` Then you can do: ``` dub build -c=something ```
How can this be the official solution? It should be as easy as dub build -v "something"
Arbitrary version specification is pretty suspect. For optional version support, there should be an official configuration that does the right thing, and then you select that configuration. You also can do `DFLAGS="-version=something" dub` if you like to live on the edge. -Steve
Dec 13 2022
prev sibling parent Leonardo <leotada523 gmail.com> writes:
On Tuesday, 13 December 2022 at 20:35:28 UTC, ryuukk_ wrote:
 On Tuesday, 13 December 2022 at 20:01:40 UTC, torhu wrote:
 On Tuesday, 13 December 2022 at 19:50:15 UTC, torhu wrote:
 On Tuesday, 13 December 2022 at 19:28:44 UTC, Leonardo A 
 wrote:
 Hello. How to use version in dub?

 https://dlang.org/spec/version.html
 "The version level and version identifier can be set on the 
 command line by the -version"

 I tried everything but noting.
In SDL syntax, either at the top level, in a configuration, or build type: ``` versions "something" "other" ```
To be more clear: When using dub you need to put this in the dub file, dub.sdl or dub.json. If you want to be able to choose from the command line, use a configuration: ``` configuration "something" { versions "something" } ``` Then you can do: ``` dub build -c=something ```
How can this be the official solution? It should be as easy as dub build -v "something"
Thanks for the replies. I think definitely we need a better documentation of this at least. It seems to have more than one way to do. I tried this at first: ``` dub build -version=USE_SDL Error Error processing arguments: Can't parse string: bool should be case->> insensitive 'true' or 'false' Run 'dub help' for usage information. ``` Dub seems to understand my 'version' argument, but this has not in the help section. And in this documentation we have more than one way to declare versions: https://dub.pm/package-format-json.html#configurations 1. { "versions": ["PrintfDebugging"] } 2. like out friend said in configuration { "name": "somepackage", "configurations": [ { "name": "glut-app", "targetType": "executable", "versions": ["GlutApp"] } ] } The -c argument refers to config build. Maybe I'm confusing with package version. But my thoughts about dub is that we need to have the best documentation as we can to provide a good understanding for newcomers in D language.
Dec 14 2022