1
1
const shell = require ( './src/shell-helper' ) ;
2
2
const sequencerFactory = require ( './src/build-sequencer' ) ;
3
- const fileHelper = require ( './src/file-helper' ) ;
4
- const glob = require ( 'glob' ) ;
5
- const path = require ( 'path' ) ;
6
-
7
- const invokerCWD = process . cwd ( ) ;
8
-
9
- const buildInfos = {
10
- version : '2.0.0.0' ,
11
- buildProject : 'Tweetinvi'
12
- } ;
3
+ const buildActions = require ( './src/build-actions' ) ;
13
4
14
5
const sequencer = sequencerFactory . create ( ) ;
15
- sequencer . addAction ( updateProjectVersion ) ;
16
- sequencer . addAction ( buildDotNet ) ;
17
- sequencer . execute ( ) ;
18
-
19
- function updateProjectVersion ( ) {
20
- const projectFilePaths = glob . sync ( "../**/*.csproj" ) ;
21
- const assemblyInfosFilePaths = glob . sync ( '../**/AssemblyInfo.cs' ) ;
22
- const nuget = path . resolve ( './TweetinviAPI/TweetinviAPI.nuspec' ) ;
23
- const clientHandler = path . resolve ( '../Tweetinvi.WebLogic/TwitterClientHandler.cs' ) ;
24
-
25
- var allUpdates = [ ] ;
26
-
27
- allUpdates = projectFilePaths . map ( filepath => {
28
- return fileHelper . replace ( filepath , / < V e r s i o n P r e f i x > ( [ 0 - 9 \. ] + [ 0 - 9 ] ) < \/ V e r s i o n P r e f i x > / g, `<VersionPrefix>${ buildInfos . version } </VersionPrefix>` ) . then ( ( ) => {
29
- console . log ( filepath + ' version has been updated!' ) ;
30
- } ) ;
31
- } ) . concat ( allUpdates ) ;
32
-
33
- allUpdates = assemblyInfosFilePaths . map ( filepath => {
34
- return fileHelper . replace ( filepath , / \[ a s s e m b l y : ( A s s e m b l y V e r s i o n | A s s e m b l y F i l e V e r s i o n ) \( " ( [ 0 - 9 \. ] + [ 0 - 9 ] ) " \) \] / g, `[assembly: $1("${ buildInfos . version } ")]` ) . then ( ( ) => {
35
- console . log ( filepath + ' version has been updated!' ) ;
36
- } ) ;
37
- } ) . concat ( allUpdates ) ;
38
-
39
- allUpdates . push ( fileHelper . replace ( nuget , / < v e r s i o n > [ 0 - 9 \. ] + [ 0 - 9 ] < \/ v e r s i o n > / g, `<version>${ buildInfos . version } </version>` ) . then ( ( ) => {
40
- return fileHelper . replace (
41
- nuget ,
42
- / < r e l e a s e N o t e s > h t t p s : \/ \/ g i t h u b .c o m \/ l i n v i \/ t w e e t i n v i \/ r e l e a s e s \/ t a g \/ [ 0 - 9 \. ] * < \/ r e l e a s e N o t e s > / g,
43
- `<releaseNotes>https://github.com/linvi/tweetinvi/releases/tag/${ buildInfos . version } </releaseNotes>` )
44
- } ) . then ( ( ) => {
45
- console . log ( 'Nuget spec has been updated.' )
46
- } ) ) ;
47
-
48
- allUpdates . push ( fileHelper . replace ( clientHandler , / " T w e e t i n v i \/ ( \d + ( \. \d + ) * ) ( .x ) ? " / , `"Tweetinvi/${ buildInfos . version } "` ) . then ( ( ) => {
49
- console . log ( 'User agent updated!' ) ;
50
- } ) ) ;
51
6
52
- return Promise . all ( allUpdates ) . then ( ( ) => {
53
- console . log ( '' ) ;
54
- console . log ( '******************************************' ) ;
55
- console . log ( '' ) ;
56
- } ) ;
57
- } ;
7
+ sequencer . addAction ( buildActions . updateProjectVersion ) ;
8
+ sequencer . addAction ( buildActions . nugetRestore ) ;
9
+ sequencer . addAction ( buildActions . buildDotNet ) ;
10
+ sequencer . addAction ( buildActions . createNugetPackage ) ;
58
11
59
- function buildDotNet ( ) {
60
- return shell . cd ( '../tweetinvi' ) . then ( ( ) => {
61
- } ) . then ( ( ) => {
62
- return shell . spawn ( 'dotnet build' ) ;
63
- } ) ;
64
- }
12
+ sequencer . execute ( ) ;
0 commit comments