Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
407259bd
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
407259bd
编写于
7月 20, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
es6ify gulpfile.vscode.js
上级
64f4fd73
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
99 addition
and
116 deletion
+99
-116
build/gulpfile.vscode.js
build/gulpfile.vscode.js
+99
-116
未找到文件。
build/gulpfile.vscode.js
浏览文件 @
407259bd
...
...
@@ -3,38 +3,40 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
var
gulp
=
require
(
'
gulp
'
);
var
fs
=
require
(
'
fs
'
);
var
path
=
require
(
'
path
'
);
var
es
=
require
(
'
event-stream
'
);
var
azure
=
require
(
'
gulp-azure-storage
'
);
var
electron
=
require
(
'
gulp-atom-electron
'
);
var
symdest
=
require
(
'
gulp-symdest
'
);
var
rename
=
require
(
'
gulp-rename
'
);
var
replace
=
require
(
'
gulp-replace
'
);
var
filter
=
require
(
'
gulp-filter
'
);
var
json
=
require
(
'
gulp-json-editor
'
);
var
remote
=
require
(
'
gulp-remote-src
'
);
var
shell
=
require
(
"
gulp-shell
"
);
var
_
=
require
(
'
underscore
'
);
var
packageJson
=
require
(
'
../package.json
'
);
var
shrinkwrap
=
require
(
'
../npm-shrinkwrap.json
'
);
var
util
=
require
(
'
./lib/util
'
);
var
buildfile
=
require
(
'
../src/buildfile
'
);
var
common
=
require
(
'
./gulpfile.common
'
);
var
nlsDev
=
require
(
'
vscode-nls-dev
'
);
var
root
=
path
.
dirname
(
__dirname
);
var
build
=
path
.
join
(
root
,
'
.build
'
);
var
commit
=
util
.
getVersion
(
root
);
var
dependencies
=
Object
.
keys
(
shrinkwrap
.
dependencies
);
var
baseModules
=
Object
.
keys
(
process
.
binding
(
'
natives
'
)).
filter
(
function
(
n
)
{
return
!
/^_|
\/
/
.
test
(
n
);
});
var
nodeModules
=
[
'
electron
'
].
concat
(
dependencies
).
concat
(
baseModules
);
nodeModules
.
push
(
'
original-fs
'
);
// provided by electron to have original fs functionality without ASAR support
'
use strict
'
;
const
gulp
=
require
(
'
gulp
'
);
const
fs
=
require
(
'
fs
'
);
const
path
=
require
(
'
path
'
);
const
es
=
require
(
'
event-stream
'
);
const
azure
=
require
(
'
gulp-azure-storage
'
);
const
electron
=
require
(
'
gulp-atom-electron
'
);
const
symdest
=
require
(
'
gulp-symdest
'
);
const
rename
=
require
(
'
gulp-rename
'
);
const
replace
=
require
(
'
gulp-replace
'
);
const
filter
=
require
(
'
gulp-filter
'
);
const
json
=
require
(
'
gulp-json-editor
'
);
const
shell
=
require
(
"
gulp-shell
"
);
const
_
=
require
(
'
underscore
'
);
const
packageJson
=
require
(
'
../package.json
'
);
const
shrinkwrap
=
require
(
'
../npm-shrinkwrap.json
'
);
const
util
=
require
(
'
./lib/util
'
);
const
buildfile
=
require
(
'
../src/buildfile
'
);
const
common
=
require
(
'
./gulpfile.common
'
);
const
nlsDev
=
require
(
'
vscode-nls-dev
'
);
const
root
=
path
.
dirname
(
__dirname
);
const
build
=
path
.
join
(
root
,
'
.build
'
);
const
commit
=
util
.
getVersion
(
root
);
const
dependencies
=
Object
.
keys
(
shrinkwrap
.
dependencies
);
const
baseModules
=
Object
.
keys
(
process
.
binding
(
'
natives
'
)).
filter
(
n
=>
!
/^_|
\/
/
.
test
(
n
));
const
nodeModules
=
[
'
electron
'
,
'
original-fs
'
]
.
concat
(
dependencies
)
.
concat
(
baseModules
);
// Build
var
vscodeEntryPoints
=
_
.
flatten
([
const
vscodeEntryPoints
=
_
.
flatten
([
buildfile
.
entrypoint
(
'
vs/workbench/workbench.main
'
),
buildfile
.
base
,
buildfile
.
editor
,
...
...
@@ -43,7 +45,7 @@ var vscodeEntryPoints = _.flatten([
buildfile
.
code
]);
var
vscodeResources
=
[
const
vscodeResources
=
[
'
out-build/main.js
'
,
'
out-build/cli.js
'
,
'
out-build/bootstrap.js
'
,
...
...
@@ -69,7 +71,7 @@ var vscodeResources = [
'
!**/test/**
'
];
var
BUNDLED_FILE_HEADER
=
[
const
BUNDLED_FILE_HEADER
=
[
'
/*!--------------------------------------------------------
'
,
'
* Copyright (C) Microsoft Corporation. All rights reserved.
'
,
'
*--------------------------------------------------------*/
'
...
...
@@ -89,11 +91,10 @@ gulp.task('clean-minified-vscode', util.rimraf('out-vscode-min'));
gulp
.
task
(
'
minify-vscode
'
,
[
'
clean-minified-vscode
'
,
'
optimize-vscode
'
],
common
.
minifyTask
(
'
out-vscode
'
,
true
));
// Package
var
product
=
require
(
'
../product.json
'
);
var
darwinCreditsTemplate
=
product
.
darwinCredits
&&
_
.
template
(
fs
.
readFileSync
(
path
.
join
(
root
,
product
.
darwinCredits
),
'
utf8
'
));
var
linuxPackageRevision
=
getEpochTime
();
const
product
=
require
(
'
../product.json
'
);
const
darwinCreditsTemplate
=
product
.
darwinCredits
&&
_
.
template
(
fs
.
readFileSync
(
path
.
join
(
root
,
product
.
darwinCredits
),
'
utf8
'
));
var
config
=
{
const
config
=
{
version
:
packageJson
.
electronVersion
,
productAppName
:
product
.
nameLong
,
companyName
:
'
Microsoft Corporation
'
,
...
...
@@ -114,52 +115,29 @@ var config = {
token
:
process
.
env
[
'
GITHUB_TOKEN
'
]
||
void
0
};
gulp
.
task
(
'
electron
'
,
function
()
{
gulp
.
task
(
'
electron
'
,
()
=>
{
// Force windows to use ia32
var
arch
=
process
.
env
.
VSCODE_ELECTRON_PLATFORM
||
(
process
.
platform
===
'
win32
'
?
'
ia32
'
:
process
.
arch
);
const
arch
=
process
.
env
.
VSCODE_ELECTRON_PLATFORM
||
(
process
.
platform
===
'
win32
'
?
'
ia32
'
:
process
.
arch
);
return
electron
.
dest
(
path
.
join
(
build
,
'
electron
'
),
_
.
extend
({},
config
,
{
arch
:
arch
,
ffmpegChromium
:
true
}));
});
function
mixinProduct
()
{
var
product
;
var
url
=
process
.
env
[
'
PRODUCT_JSON_URL
'
];
if
(
url
)
{
var
opts
=
{
base
:
''
};
var
username
=
process
.
env
[
'
PRODUCT_JSON_USERNAME
'
];
var
password
=
process
.
env
[
'
PRODUCT_JSON_PASSWORD
'
];
if
(
username
||
password
)
{
opts
.
auth
=
{
username
:
username
||
''
,
password
:
password
||
''
};
}
product
=
remote
(
url
,
opts
);
}
else
{
product
=
gulp
.
src
([
'
product.json
'
],
{
base
:
'
.
'
});
}
return
product
.
pipe
(
json
({
commit
:
commit
,
date
:
new
Date
().
toISOString
()
}));
}
var
languages
=
[
'
chs
'
,
'
cht
'
,
'
jpn
'
,
'
kor
'
,
'
deu
'
,
'
fra
'
,
'
esn
'
,
'
rus
'
,
'
ita
'
];
const
languages
=
[
'
chs
'
,
'
cht
'
,
'
jpn
'
,
'
kor
'
,
'
deu
'
,
'
fra
'
,
'
esn
'
,
'
rus
'
,
'
ita
'
];
function
packageTask
(
platform
,
arch
,
opts
)
{
opts
=
opts
||
{};
var
destination
=
path
.
join
(
path
.
dirname
(
root
),
'
VSCode
'
)
+
(
platform
?
'
-
'
+
platform
:
''
)
+
(
arch
?
'
-
'
+
arch
:
''
);
const
destination
=
path
.
join
(
path
.
dirname
(
root
),
'
VSCode
'
)
+
(
platform
?
'
-
'
+
platform
:
''
)
+
(
arch
?
'
-
'
+
arch
:
''
);
platform
=
platform
||
process
.
platform
;
arch
=
platform
===
'
win32
'
?
'
ia32
'
:
arch
;
return
function
()
{
var
out
=
opts
.
minified
?
'
out-vscode-min
'
:
'
out-vscode
'
;
return
()
=>
{
const
out
=
opts
.
minified
?
'
out-vscode-min
'
:
'
out-vscode
'
;
var
src
=
gulp
.
src
(
out
+
'
/**
'
,
{
base
:
'
.
'
})
const
src
=
gulp
.
src
(
out
+
'
/**
'
,
{
base
:
'
.
'
})
.
pipe
(
rename
(
function
(
path
)
{
path
.
dirname
=
path
.
dirname
.
replace
(
new
RegExp
(
'
^
'
+
out
),
'
out
'
);
}))
.
pipe
(
util
.
setExecutableBit
([
'
**/*.sh
'
]));
var
extensions
=
gulp
.
src
([
const
extensions
=
gulp
.
src
([
'
extensions/**
'
,
'
!extensions/*/src/**
'
,
'
!extensions/*/out/**/test/**
'
,
...
...
@@ -175,41 +153,46 @@ function packageTask(platform, arch, opts) {
'
!extensions/vscode-colorize-tests/**
'
],
{
base
:
'
.
'
});
var
sources
=
es
.
merge
(
src
,
extensions
)
const
sources
=
es
.
merge
(
src
,
extensions
)
.
pipe
(
nlsDev
.
createAdditionalLanguageFiles
(
languages
,
path
.
join
(
__dirname
,
'
..
'
,
'
i18n
'
)))
.
pipe
(
filter
([
'
**
'
,
'
!**/*.js.map
'
]))
.
pipe
(
util
.
handleAzureJson
({
platform
:
platform
}));
var
version
=
packageJson
.
version
;
var
quality
=
product
.
quality
;
let
version
=
packageJson
.
version
;
const
quality
=
product
.
quality
;
if
(
quality
&&
quality
!==
'
stable
'
)
{
version
+=
'
-
'
+
quality
;
}
var
packageJsonStream
=
gulp
.
src
([
'
package.json
'
],
{
base
:
'
.
'
}).
pipe
(
json
({
name
:
product
.
nameShort
,
version
:
version
}));
const
name
=
product
.
nameShort
;
const
packageJsonStream
=
gulp
.
src
([
'
package.json
'
],
{
base
:
'
.
'
})
.
pipe
(
json
({
name
,
version
}));
const
date
=
new
Date
().
toISOString
();
const
productJsonStream
=
gulp
.
src
([
'
product.json
'
],
{
base
:
'
.
'
})
.
pipe
(
json
({
commit
,
date
}));
var
license
=
gulp
.
src
([
'
Credits_*
'
,
'
LICENSE.txt
'
,
'
ThirdPartyNotices.txt
'
,
'
licenses/**
'
],
{
base
:
'
.
'
});
var
api
=
gulp
.
src
(
'
src/vs/vscode.d.ts
'
).
pipe
(
rename
(
'
out/vs/vscode.d.ts
'
));
const
license
=
gulp
.
src
([
'
Credits_*
'
,
'
LICENSE.txt
'
,
'
ThirdPartyNotices.txt
'
,
'
licenses/**
'
],
{
base
:
'
.
'
});
var
depsSrc
=
_
.
flatten
(
dependencies
// TODO the API should be copied to `out` during compile, not here
const
api
=
gulp
.
src
(
'
src/vs/vscode.d.ts
'
).
pipe
(
rename
(
'
out/vs/vscode.d.ts
'
));
const
depsSrc
=
_
.
flatten
(
dependencies
.
map
(
function
(
d
)
{
return
[
'
node_modules/
'
+
d
+
'
/**
'
,
'
!node_modules/
'
+
d
+
'
/**/{test,tests}/**
'
];
}));
var
deps
=
gulp
.
src
(
depsSrc
,
{
base
:
'
.
'
,
dot
:
true
})
const
deps
=
gulp
.
src
(
depsSrc
,
{
base
:
'
.
'
,
dot
:
true
})
.
pipe
(
util
.
cleanNodeModule
(
'
fsevents
'
,
[
'
binding.gyp
'
,
'
fsevents.cc
'
,
'
build/**
'
,
'
src/**
'
,
'
test/**
'
],
[
'
**/*.node
'
]))
.
pipe
(
util
.
cleanNodeModule
(
'
oniguruma
'
,
[
'
binding.gyp
'
,
'
build/**
'
,
'
src/**
'
,
'
deps/**
'
],
[
'
**/*.node
'
]))
.
pipe
(
util
.
cleanNodeModule
(
'
windows-mutex
'
,
[
'
binding.gyp
'
,
'
build/**
'
,
'
src/**
'
],
[
'
**/*.node
'
]))
.
pipe
(
util
.
cleanNodeModule
(
'
native-keymap
'
,
[
'
binding.gyp
'
,
'
build/**
'
,
'
src/**
'
,
'
deps/**
'
],
[
'
**/*.node
'
]))
.
pipe
(
util
.
cleanNodeModule
(
'
pty.js
'
,
[
'
binding.gyp
'
,
'
build/**
'
,
'
src/**
'
,
'
deps/**
'
],
[
'
build/Release/**
'
]));
var
all
=
es
.
merge
(
api
,
let
all
=
es
.
merge
(
packageJsonStream
,
mixinProduct
()
,
productJsonStream
,
license
,
api
,
sources
,
deps
);
...
...
@@ -219,13 +202,13 @@ function packageTask(platform, arch, opts) {
}
else
if
(
platform
===
'
linux
'
)
{
all
=
es
.
merge
(
all
,
gulp
.
src
(
'
resources/linux/code.png
'
,
{
base
:
'
.
'
}));
}
else
if
(
platform
===
'
darwin
'
)
{
var
shortcut
=
gulp
.
src
(
'
resources/darwin/bin/code.sh
'
)
const
shortcut
=
gulp
.
src
(
'
resources/darwin/bin/code.sh
'
)
.
pipe
(
rename
(
'
bin/code
'
));
all
=
es
.
merge
(
all
,
shortcut
);
}
var
result
=
all
let
result
=
all
.
pipe
(
util
.
skipDirectories
())
.
pipe
(
util
.
fixWin32DirectoryPermissions
())
.
pipe
(
electron
(
_
.
extend
({},
config
,
{
platform
:
platform
,
arch
:
arch
,
ffmpegChromium
:
true
})))
...
...
@@ -255,33 +238,31 @@ function getDebPackageArch(arch) {
return
{
x64
:
'
amd64
'
,
ia32
:
'
i386
'
}[
arch
];
}
function
getEpochTime
()
{
return
Math
.
floor
(
new
Date
().
getTime
()
/
1000
);
}
const
linuxPackageRevision
=
Math
.
floor
(
new
Date
().
getTime
()
/
1000
);
function
prepareDebPackage
(
arch
)
{
var
binaryDir
=
'
../VSCode-linux-
'
+
arch
;
var
debArch
=
getDebPackageArch
(
arch
);
var
destination
=
'
.build/linux/deb/
'
+
debArch
+
'
/
'
+
product
.
applicationName
+
'
-
'
+
debArch
;
const
binaryDir
=
'
../VSCode-linux-
'
+
arch
;
const
debArch
=
getDebPackageArch
(
arch
);
const
destination
=
'
.build/linux/deb/
'
+
debArch
+
'
/
'
+
product
.
applicationName
+
'
-
'
+
debArch
;
return
function
()
{
var
desktop
=
gulp
.
src
(
'
resources/linux/code.desktop
'
,
{
base
:
'
.
'
})
const
desktop
=
gulp
.
src
(
'
resources/linux/code.desktop
'
,
{
base
:
'
.
'
})
.
pipe
(
replace
(
'
@@NAME_LONG@@
'
,
product
.
nameLong
))
.
pipe
(
replace
(
'
@@NAME_SHORT@@
'
,
product
.
nameShort
))
.
pipe
(
replace
(
'
@@NAME@@
'
,
product
.
applicationName
))
.
pipe
(
rename
(
'
usr/share/applications/
'
+
product
.
applicationName
+
'
.desktop
'
));
var
icon
=
gulp
.
src
(
'
resources/linux/code.png
'
,
{
base
:
'
.
'
})
const
icon
=
gulp
.
src
(
'
resources/linux/code.png
'
,
{
base
:
'
.
'
})
.
pipe
(
rename
(
'
usr/share/pixmaps/
'
+
product
.
applicationName
+
'
.png
'
));
var
code
=
gulp
.
src
(
binaryDir
+
'
/**/*
'
,
{
base
:
binaryDir
})
const
code
=
gulp
.
src
(
binaryDir
+
'
/**/*
'
,
{
base
:
binaryDir
})
.
pipe
(
rename
(
function
(
p
)
{
p
.
dirname
=
'
usr/share/
'
+
product
.
applicationName
+
'
/
'
+
p
.
dirname
;
}));
var
size
=
0
;
var
control
=
code
.
pipe
(
es
.
through
(
let
size
=
0
;
const
control
=
code
.
pipe
(
es
.
through
(
function
(
f
)
{
size
+=
f
.
isDirectory
()
?
4096
:
f
.
contents
.
length
;
},
function
()
{
var
that
=
this
;
const
that
=
this
;
gulp
.
src
(
'
resources/linux/debian/control.template
'
,
{
base
:
'
.
'
})
.
pipe
(
replace
(
'
@@NAME@@
'
,
product
.
applicationName
))
.
pipe
(
replace
(
'
@@VERSION@@
'
,
packageJson
.
version
+
'
-
'
+
linuxPackageRevision
))
...
...
@@ -291,29 +272,29 @@ function prepareDebPackage(arch) {
.
pipe
(
es
.
through
(
function
(
f
)
{
that
.
emit
(
'
data
'
,
f
);
},
function
()
{
that
.
emit
(
'
end
'
);
}));
}));
var
prerm
=
gulp
.
src
(
'
resources/linux/debian/prerm.template
'
,
{
base
:
'
.
'
})
const
prerm
=
gulp
.
src
(
'
resources/linux/debian/prerm.template
'
,
{
base
:
'
.
'
})
.
pipe
(
replace
(
'
@@NAME@@
'
,
product
.
applicationName
))
.
pipe
(
rename
(
'
DEBIAN/prerm
'
))
var
postrm
=
gulp
.
src
(
'
resources/linux/debian/postrm.template
'
,
{
base
:
'
.
'
})
const
postrm
=
gulp
.
src
(
'
resources/linux/debian/postrm.template
'
,
{
base
:
'
.
'
})
.
pipe
(
replace
(
'
@@NAME@@
'
,
product
.
applicationName
))
.
pipe
(
rename
(
'
DEBIAN/postrm
'
))
var
postinst
=
gulp
.
src
(
'
resources/linux/debian/postinst.template
'
,
{
base
:
'
.
'
})
const
postinst
=
gulp
.
src
(
'
resources/linux/debian/postinst.template
'
,
{
base
:
'
.
'
})
.
pipe
(
replace
(
'
@@NAME@@
'
,
product
.
applicationName
))
.
pipe
(
replace
(
'
@@ARCHITECTURE@@
'
,
debArch
))
.
pipe
(
replace
(
'
@@QUALITY@@
'
,
product
.
quality
||
'
@@QUALITY@@
'
))
.
pipe
(
replace
(
'
@@UPDATEURL@@
'
,
product
.
updateUrl
||
'
@@UPDATEURL@@
'
))
.
pipe
(
rename
(
'
DEBIAN/postinst
'
))
var
all
=
es
.
merge
(
control
,
postinst
,
postrm
,
prerm
,
desktop
,
icon
,
code
);
const
all
=
es
.
merge
(
control
,
postinst
,
postrm
,
prerm
,
desktop
,
icon
,
code
);
return
all
.
pipe
(
symdest
(
destination
));
};
}
function
buildDebPackage
(
arch
)
{
var
debArch
=
getDebPackageArch
(
arch
);
const
debArch
=
getDebPackageArch
(
arch
);
return
shell
.
task
([
'
chmod 755
'
+
product
.
applicationName
+
'
-
'
+
debArch
+
'
/DEBIAN/postinst
'
+
product
.
applicationName
+
'
-
'
+
debArch
+
'
/DEBIAN/prerm
'
,
'
mkdir -p deb
'
,
...
...
@@ -331,23 +312,23 @@ function getRpmPackageArch(arch) {
}
function
prepareRpmPackage
(
arch
)
{
var
binaryDir
=
'
../VSCode-linux-
'
+
arch
;
var
rpmArch
=
getRpmPackageArch
(
arch
);
const
binaryDir
=
'
../VSCode-linux-
'
+
arch
;
const
rpmArch
=
getRpmPackageArch
(
arch
);
return
function
()
{
var
desktop
=
gulp
.
src
(
'
resources/linux/code.desktop
'
,
{
base
:
'
.
'
})
const
desktop
=
gulp
.
src
(
'
resources/linux/code.desktop
'
,
{
base
:
'
.
'
})
.
pipe
(
replace
(
'
@@NAME_LONG@@
'
,
product
.
nameLong
))
.
pipe
(
replace
(
'
@@NAME_SHORT@@
'
,
product
.
nameShort
))
.
pipe
(
replace
(
'
@@NAME@@
'
,
product
.
applicationName
))
.
pipe
(
rename
(
'
BUILD/usr/share/applications/
'
+
product
.
applicationName
+
'
.desktop
'
));
var
icon
=
gulp
.
src
(
'
resources/linux/code.png
'
,
{
base
:
'
.
'
})
const
icon
=
gulp
.
src
(
'
resources/linux/code.png
'
,
{
base
:
'
.
'
})
.
pipe
(
rename
(
'
BUILD/usr/share/pixmaps/
'
+
product
.
applicationName
+
'
.png
'
));
var
code
=
gulp
.
src
(
binaryDir
+
'
/**/*
'
,
{
base
:
binaryDir
})
const
code
=
gulp
.
src
(
binaryDir
+
'
/**/*
'
,
{
base
:
binaryDir
})
.
pipe
(
rename
(
function
(
p
)
{
p
.
dirname
=
'
BUILD/usr/share/
'
+
product
.
applicationName
+
'
/
'
+
p
.
dirname
;
}));
var
spec
=
gulp
.
src
(
'
resources/linux/rpm/code.spec.template
'
,
{
base
:
'
.
'
})
const
spec
=
gulp
.
src
(
'
resources/linux/rpm/code.spec.template
'
,
{
base
:
'
.
'
})
.
pipe
(
replace
(
'
@@NAME@@
'
,
product
.
applicationName
))
.
pipe
(
replace
(
'
@@NAME_LONG@@
'
,
product
.
nameLong
))
.
pipe
(
replace
(
'
@@VERSION@@
'
,
packageJson
.
version
))
...
...
@@ -357,20 +338,20 @@ function prepareRpmPackage(arch) {
.
pipe
(
replace
(
'
@@UPDATEURL@@
'
,
product
.
updateUrl
||
'
@@UPDATEURL@@
'
))
.
pipe
(
rename
(
'
SPECS/
'
+
product
.
applicationName
+
'
.spec
'
));
var
specIcon
=
gulp
.
src
(
'
resources/linux/rpm/code.xpm
'
,
{
base
:
'
.
'
})
const
specIcon
=
gulp
.
src
(
'
resources/linux/rpm/code.xpm
'
,
{
base
:
'
.
'
})
.
pipe
(
rename
(
'
SOURCES/
'
+
product
.
applicationName
+
'
.xpm
'
));
var
all
=
es
.
merge
(
code
,
desktop
,
icon
,
spec
,
specIcon
);
const
all
=
es
.
merge
(
code
,
desktop
,
icon
,
spec
,
specIcon
);
return
all
.
pipe
(
symdest
(
getRpmBuildPath
(
rpmArch
)));
}
}
function
buildRpmPackage
(
arch
)
{
var
rpmArch
=
getRpmPackageArch
(
arch
);
var
rpmBuildPath
=
getRpmBuildPath
(
rpmArch
);
var
rpmOut
=
rpmBuildPath
+
'
/RPMS/
'
+
rpmArch
;
var
destination
=
'
.build/linux/rpm/
'
+
rpmArch
;
const
rpmArch
=
getRpmPackageArch
(
arch
);
const
rpmBuildPath
=
getRpmBuildPath
(
rpmArch
);
const
rpmOut
=
rpmBuildPath
+
'
/RPMS/
'
+
rpmArch
;
const
destination
=
'
.build/linux/rpm/
'
+
rpmArch
;
return
shell
.
task
([
'
mkdir -p
'
+
destination
,
'
HOME="$(pwd)/
'
+
destination
+
'
" fakeroot rpmbuild -bb
'
+
rpmBuildPath
+
'
/SPECS/
'
+
product
.
applicationName
+
'
.spec --target=
'
+
rpmArch
,
...
...
@@ -379,11 +360,13 @@ function buildRpmPackage(arch) {
]);
}
gulp
.
task
(
'
clean-vscode-win32
'
,
util
.
rimraf
(
path
.
join
(
path
.
dirname
(
root
),
'
VSCode-win32
'
)));
gulp
.
task
(
'
clean-vscode-darwin
'
,
util
.
rimraf
(
path
.
join
(
path
.
dirname
(
root
),
'
VSCode-darwin
'
)));
gulp
.
task
(
'
clean-vscode-linux-ia32
'
,
util
.
rimraf
(
path
.
join
(
path
.
dirname
(
root
),
'
VSCode-linux-ia32
'
)));
gulp
.
task
(
'
clean-vscode-linux-x64
'
,
util
.
rimraf
(
path
.
join
(
path
.
dirname
(
root
),
'
VSCode-linux-x64
'
)));
gulp
.
task
(
'
clean-vscode-linux-arm
'
,
util
.
rimraf
(
path
.
join
(
path
.
dirname
(
root
),
'
VSCode-linux-arm
'
)));
const
buildRoot
=
path
.
dirname
(
root
);
gulp
.
task
(
'
clean-vscode-win32
'
,
util
.
rimraf
(
path
.
join
(
buildRoot
,
'
VSCode-win32
'
)));
gulp
.
task
(
'
clean-vscode-darwin
'
,
util
.
rimraf
(
path
.
join
(
buildRoot
,
'
VSCode-darwin
'
)));
gulp
.
task
(
'
clean-vscode-linux-ia32
'
,
util
.
rimraf
(
path
.
join
(
buildRoot
,
'
VSCode-linux-ia32
'
)));
gulp
.
task
(
'
clean-vscode-linux-x64
'
,
util
.
rimraf
(
path
.
join
(
buildRoot
,
'
VSCode-linux-x64
'
)));
gulp
.
task
(
'
clean-vscode-linux-arm
'
,
util
.
rimraf
(
path
.
join
(
buildRoot
,
'
VSCode-linux-arm
'
)));
gulp
.
task
(
'
clean-vscode-linux-ia32-deb
'
,
util
.
rimraf
(
'
.build/linux/deb/i386
'
));
gulp
.
task
(
'
clean-vscode-linux-x64-deb
'
,
util
.
rimraf
(
'
.build/linux/deb/amd64
'
));
gulp
.
task
(
'
clean-vscode-linux-ia32-rpm
'
,
util
.
rimraf
(
'
.build/linux/rpm/i386
'
));
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录