@@ -37,15 +37,18 @@ export default class ProjectTasks {
3737 } ,
3838 {
3939 name : 'Upload and Monitor' ,
40- args : [ 'run' , '--target' , 'upload' , '--target' , 'monitor' ]
40+ args : [ 'run' , '--target' , 'upload' , '--target' , 'monitor' ] ,
41+ filter : ( data ) => ! data . platform . includes ( 'riscv_gap' )
4142 } ,
4243 {
4344 name : 'Upload using Programmer' ,
44- args : [ 'run' , '--target' , 'program' ]
45+ args : [ 'run' , '--target' , 'program' ] ,
46+ filter : ( data ) => data . platform . includes ( 'atmelavr' )
4547 } ,
4648 {
4749 name : 'Upload File System image' ,
48- args : [ 'run' , '--target' , 'uploadfs' ]
50+ args : [ 'run' , '--target' , 'uploadfs' ] ,
51+ filter : ( data ) => data . platform . includes ( 'espressif' ) || data . platform . includes ( 'riscv_gap' )
4952 } ,
5053 {
5154 name : 'Monitor' ,
@@ -71,16 +74,6 @@ export default class ProjectTasks {
7174 this . ide = ide ;
7275 }
7376
74- taskCompatibleWithPlatform ( task , platform ) {
75- if ( task . args . includes ( 'program' ) && ! platform . includes ( 'atmelavr' ) ) {
76- return false ;
77- }
78- else if ( task . args . includes ( 'uploadfs' ) && ! platform . includes ( 'espressif' ) ) {
79- return false ;
80- }
81- return true ;
82- }
83-
8477 async getTasks ( ) {
8578 if ( ! this . projectDir ) {
8679 return [ ] ;
@@ -115,7 +108,7 @@ export default class ProjectTasks {
115108
116109 // base tasks
117110 ProjectTasks . baseTasks . forEach ( task => {
118- if ( projectData . some ( data => this . taskCompatibleWithPlatform ( task , data . platform ) ) ) {
111+ if ( ! task . filter || projectData . some ( data => task . filter ( data ) ) ) {
119112 result . push ( new TaskItem ( task . name , task . description , task . args . slice ( 0 ) ) ) ;
120113 }
121114 } ) ;
@@ -124,7 +117,7 @@ export default class ProjectTasks {
124117 if ( projectData . length > 1 ) {
125118 projectData . forEach ( data => {
126119 ProjectTasks . baseTasks . forEach ( task => {
127- if ( this . taskCompatibleWithPlatform ( task , data . platform ) ) {
120+ if ( ! task . filter || task . filter ( data ) ) {
128121 result . push ( new TaskItem ( task . name , task . description , [ ...task . args . slice ( 0 ) , '--environment' , data . env ] ) ) ;
129122 }
130123 } ) ;
0 commit comments