You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
td Minimum version of DUB necessary to build the package
82
+
td toolchainRequirements
83
+
td: code string[string]
84
+
td Set of version requirements for DUB, for compilers and for language frontend. See the <a href="#toolchain-requirements">toolchain requirements</a> section.
82
85
83
86
tr
84
87
td homepage
@@ -389,7 +392,7 @@ block body
389
392
p With this set to <code>true</code>, the dependency will be chosen by default if no dub.selections.json exists yet. If omitted, this attribute defaults to <code>false</code>. Note that this only has an effect if the "optional" attribute is set to <code>true</code>.
390
393
p Note that versions prior to 0.9.25 will ignore this attribute.
391
394
392
-
p Version specifiers define a range of acceptable versions. They can be specified in any of the following ways:
395
+
p#version-syntax Version specifiers define a range of acceptable versions. They can be specified in any of the following ways:
393
396
ul
394
397
li Restrict to a certain minor version: <code>"~>2.2.13"</code>, equivalent to <code>">=2.2.13 <2.3.0"</code>
395
398
li Restrict to a certain major version: <code>"~>2.2"</code>, equivalent to <code>">=2.2.0 <3.0.0"</code>
@@ -724,3 +727,45 @@ block body
724
727
| }
725
728
| }
726
729
|}
730
+
731
+
h2#toolchain-requirements Toolchain requirements
732
+
733
+
p The package can specify version requirements for the toolchain. Each requirement is specified with the <a href="#version-syntax">version dependency syntax</a>. For compilers, the keyword <code>no</code> can be specified instead of a version requirement to disallow the use of a specific compiler for the package. The following requirements are allowed:
734
+
table
735
+
tr
736
+
th Identifier
737
+
th Description
738
+
tr
739
+
td <code>"dub"</code>
740
+
td DUB version requirement
741
+
tr
742
+
td <code>"frontend"</code>
743
+
td D frontend version requirement
744
+
tr
745
+
td <code>"dmd"</code>
746
+
td DMD version requirement
747
+
tr
748
+
td <code>"ldc"</code>
749
+
td LDC version requirement
750
+
tr
751
+
td <code>"gdc"</code>
752
+
td GDC version requirement
753
+
754
+
p Example 1: package that needs at least dub-1.14 and uses D features introduced in frontend 2.068 and other features that will be deprecated in frontend 2.087
755
+
pre.code
756
+
|{
757
+
| "toolchainRequirements": {
758
+
| "dub": ">=1.14.0",
759
+
| "frontend": ">=2.068 <2.087"
760
+
| }
761
+
|}
762
+
763
+
p Example 2: package that needs to be compiled with LDC from version 1.11
td Set of version requirements for DUB, for compilers and for language frontend. See the <a href="#toolchain-requirements">toolchain requirements</a> section.
82
84
83
85
tr
84
86
td homepage
@@ -373,7 +375,7 @@ block body
373
375
p With this set to <code>true</code>, the dependency will be chosen by default if no dub.selections.json exists yet. If omitted, this attribute defaults to <code>false</code>. Note that this only has an effect if the "optional" attribute is set to <code>true</code>.
374
376
p Note that versions prior to 0.9.25 will ignore this attribute.
375
377
376
-
p Version specifiers define a range of acceptable versions. They can be specified in any of the following ways:
378
+
p#version-syntax Version specifiers define a range of acceptable versions. They can be specified in any of the following ways:
377
379
ul
378
380
li Restrict to a certain minor version: <code>"~>2.2.13"</code>, equivalent to <code>">=2.2.13 <2.3.0"</code>
379
381
li Restrict to a certain major version: <code>"~>2.2"</code>, equivalent to <code>">=2.2.0 <3.0.0"</code>
@@ -690,3 +692,34 @@ block body
690
692
|buildType "debug-profile" {
691
693
| buildOptions "debugMode" "debugInfo" "profile"
692
694
|}
695
+
696
+
h2#toolchain-requirements Toolchain requirements
697
+
698
+
p The package can specify version requirements for the toolchain. Each requirement is specified with the <a href="#version-syntax">version dependency syntax</a>. For compilers, the keyword <code>no</code> can be specified instead of a version requirement to disallow the use of a specific compiler for the package. The following requirements are allowed:
699
+
table
700
+
tr
701
+
th Identifier
702
+
th Description
703
+
tr
704
+
td <code>"dub"</code>
705
+
td DUB version requirement
706
+
tr
707
+
td <code>"frontend"</code>
708
+
td D frontend version requirement
709
+
tr
710
+
td <code>"dmd"</code>
711
+
td DMD version requirement
712
+
tr
713
+
td <code>"ldc"</code>
714
+
td LDC version requirement
715
+
tr
716
+
td <code>"gdc"</code>
717
+
td GDC version requirement
718
+
719
+
p Example 1: package that needs at least dub-1.14 and uses D features introduced in frontend 2.068 and other features that will be deprecated in frontend 2.087
0 commit comments