@@ -6,6 +6,8 @@ const CWD = process.cwd();
6
6
const siteConfig = require ( `${ CWD } /docusaurus.config.js` ) ;
7
7
const nextDocsDir = `${ CWD } /docs` ;
8
8
const docsDir = `${ CWD } /versioned_docs` ;
9
+ const restApiVersions = require ( "../static/swagger/restApiVersions.json" ) ;
10
+ const compareVersions = require ( "compare-versions" ) ;
9
11
10
12
function getVersions ( ) {
11
13
try {
@@ -19,6 +21,28 @@ function getVersions() {
19
21
return [ "2.1.0" ] ;
20
22
}
21
23
24
+ function getRealVersion ( version ) {
25
+ let versionMap = { } ;
26
+ let _vsGroups = { } ;
27
+ for ( let [ key , val ] of Object . entries ( restApiVersions ) ) {
28
+ if ( key == "master" || compareVersions . compare ( key , "2.8.0" , "<" ) ) {
29
+ versionMap [ key ] = key ;
30
+ } else {
31
+ let [ one , two ] = key . split ( "." ) ;
32
+ let _tKey = one + "." + two + ".x" ;
33
+ _vsGroups [ _tKey ] = [ ...( _vsGroups [ _tKey ] || [ ] ) , key ] ;
34
+ }
35
+ }
36
+ for ( let [ key , val ] of Object . entries ( _vsGroups ) ) {
37
+ let _tKey = val . sort ( ( a , b ) => {
38
+ return - compareVersions . compare ( b , a , "<" ) ;
39
+ } ) [ 0 ] ;
40
+ versionMap [ key ] = _tKey ;
41
+ }
42
+ console . log ( "..., " , versionMap ) ;
43
+ return versionMap [ version ] ;
44
+ }
45
+
22
46
function downloadPageUrl ( ) {
23
47
return `${ siteConfig . baseUrl } download` ;
24
48
}
@@ -91,13 +115,16 @@ function debDistUrl(version, type) {
91
115
}
92
116
93
117
function clientVersionUrl ( version , type ) {
94
- var versions = version . split ( '.' )
95
- var majorVersion = parseInt ( versions [ 0 ] )
96
- var minorVersion = parseInt ( versions [ 1 ] )
97
- if ( ( majorVersion === 2 && minorVersion < 5 ) || ( type === "python" && minorVersion >= 7 ) ) {
118
+ var versions = version . split ( "." ) ;
119
+ var majorVersion = parseInt ( versions [ 0 ] ) ;
120
+ var minorVersion = parseInt ( versions [ 1 ] ) ;
121
+ if (
122
+ ( majorVersion === 2 && minorVersion < 5 ) ||
123
+ ( type === "python" && minorVersion >= 7 )
124
+ ) {
98
125
return `(${ siteConfig . url } /api/${ type } /${ version } ` ;
99
126
} else if ( majorVersion >= 2 && minorVersion >= 5 ) {
100
- return `(${ siteConfig . url } /api/${ type } /${ majorVersion } .${ minorVersion } .0-SNAPSHOT`
127
+ return `(${ siteConfig . url } /api/${ type } /${ majorVersion } .${ minorVersion } .0-SNAPSHOT` ;
101
128
}
102
129
}
103
130
@@ -190,10 +217,11 @@ doReplace(options);
190
217
191
218
// TODO activate and test when first version of docs are cut
192
219
// replaces versions
193
- for ( v of versions ) {
220
+ for ( _v of versions ) {
194
221
// if (v === latestVersion) {
195
222
// continue;
196
223
// }
224
+ const v = getRealVersion ( _v )
197
225
const vWithoutIncubating = v . replace ( "-incubating" , "" ) ;
198
226
const opts = {
199
227
files : [
@@ -232,4 +260,4 @@ for (v of versions) {
232
260
dry : false ,
233
261
} ;
234
262
doReplace ( opts ) ;
235
- }
263
+ }
0 commit comments