Skip to content

Commit 0aac72b

Browse files
committed
Improve task filter; add GAP
1 parent 7356770 commit 0aac72b

File tree

1 file changed

+8
-15
lines changed

1 file changed

+8
-15
lines changed

src/project/tasks.js

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)