Skip to content

Commit 326ee92

Browse files
move jobs properites in arduino/builder component
1 parent dd0eea0 commit 326ee92

File tree

6 files changed

+26
-13
lines changed

6 files changed

+26
-13
lines changed

Diff for: arduino/builder/builder.go

+10
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ type Builder struct {
2626
sketch *sketch.Sketch
2727
buildProperties *properties.Map
2828

29+
// Parallel processes
30+
jobs int
31+
2932
// core related
3033
coreBuildCachePath *paths.Path
3134
}
@@ -37,6 +40,7 @@ func NewBuilder(
3740
buildPath *paths.Path,
3841
optimizeForDebug bool,
3942
coreBuildCachePath *paths.Path,
43+
jobs int,
4044
) *Builder {
4145
buildProperties := properties.NewMap()
4246
if boardBuildProperties != nil {
@@ -64,10 +68,16 @@ func NewBuilder(
6468
sketch: sk,
6569
buildProperties: buildProperties,
6670
coreBuildCachePath: coreBuildCachePath,
71+
jobs: jobs,
6772
}
6873
}
6974

7075
// GetBuildProperties returns the build properties for running this build
7176
func (b *Builder) GetBuildProperties() *properties.Map {
7277
return b.buildProperties
7378
}
79+
80+
// Jobs number of parallel processes
81+
func (b *Builder) Jobs() int {
82+
return b.jobs
83+
}

Diff for: arduino/builder/sketch_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func TestMergeSketchSources(t *testing.T) {
4848
}
4949
mergedSources := strings.ReplaceAll(string(mergedBytes), "%s", pathToGoldenSource)
5050

51-
b := NewBuilder(sk, nil, nil, false, nil)
51+
b := NewBuilder(sk, nil, nil, false, nil, 0)
5252
offset, source, err := b.sketchMergeSources(nil)
5353
require.Nil(t, err)
5454
require.Equal(t, 2, offset)
@@ -61,7 +61,7 @@ func TestMergeSketchSourcesArduinoIncluded(t *testing.T) {
6161
require.NotNil(t, sk)
6262

6363
// ensure not to include Arduino.h when it's already there
64-
b := NewBuilder(sk, nil, nil, false, nil)
64+
b := NewBuilder(sk, nil, nil, false, nil, 0)
6565
_, source, err := b.sketchMergeSources(nil)
6666
require.Nil(t, err)
6767
require.Equal(t, 1, strings.Count(source, "<Arduino.h>"))
@@ -76,7 +76,7 @@ func TestCopyAdditionalFiles(t *testing.T) {
7676
sk1, err := sketch.New(paths.New("testdata", t.Name()))
7777
require.Nil(t, err)
7878
require.Equal(t, sk1.AdditionalFiles.Len(), 1)
79-
b1 := NewBuilder(sk1, nil, nil, false, nil)
79+
b1 := NewBuilder(sk1, nil, nil, false, nil, 0)
8080

8181
// copy the sketch over, create a fake main file we don't care about it
8282
// but we need it for `SketchLoad` to succeed later

Diff for: commands/compile/compile.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,14 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
169169
coreBuildCachePath = buildCachePath.Join("core")
170170
}
171171

172-
sketchBuilder := bldr.NewBuilder(sk, boardBuildProperties, buildPath, req.GetOptimizeForDebug(), coreBuildCachePath)
172+
sketchBuilder := bldr.NewBuilder(
173+
sk,
174+
boardBuildProperties,
175+
buildPath,
176+
req.GetOptimizeForDebug(),
177+
coreBuildCachePath,
178+
int(req.GetJobs()),
179+
)
173180

174181
buildProperties := sketchBuilder.GetBuildProperties()
175182

@@ -212,7 +219,6 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream
212219
)
213220

214221
builderCtx.Verbose = req.GetVerbose()
215-
builderCtx.Jobs = int(req.GetJobs())
216222

217223
builderCtx.WarningsLevel = req.GetWarnings()
218224
if builderCtx.WarningsLevel == "" {

Diff for: legacy/builder/builder.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func (s *Builder) Run(ctx *types.Context) error {
7777
ctx.OnlyUpdateCompilationDatabase,
7878
ctx.Verbose,
7979
ctx.CompilationDatabase,
80-
ctx.Jobs,
80+
ctx.Builder.Jobs(),
8181
ctx.WarningsLevel,
8282
ctx.Stdout, ctx.Stderr,
8383
func(msg string) { ctx.Info(msg) },
@@ -117,7 +117,7 @@ func (s *Builder) Run(ctx *types.Context) error {
117117
ctx.Verbose,
118118
ctx.OnlyUpdateCompilationDatabase,
119119
ctx.CompilationDatabase,
120-
ctx.Jobs,
120+
ctx.Builder.Jobs(),
121121
ctx.WarningsLevel,
122122
ctx.Stdout,
123123
ctx.Stderr,
@@ -149,7 +149,7 @@ func (s *Builder) Run(ctx *types.Context) error {
149149
ctx.ActualPlatform,
150150
ctx.Verbose, ctx.OnlyUpdateCompilationDatabase, ctx.Clean,
151151
ctx.CompilationDatabase,
152-
ctx.Jobs,
152+
ctx.Builder.Jobs(),
153153
ctx.WarningsLevel,
154154
ctx.Stdout, ctx.Stderr,
155155
func(msg string) { ctx.Info(msg) },

Diff for: legacy/builder/test/builder_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -97,15 +97,15 @@ func prepareBuilderTestContext(t *testing.T, ctx *types.Context, sketchPath *pat
9797
ctx.Sketch = sk
9898
}
9999

100-
ctx.Builder = bldr.NewBuilder(ctx.Sketch, nil, nil, false, nil)
100+
ctx.Builder = bldr.NewBuilder(ctx.Sketch, nil, nil, false, nil, 0)
101101
if fqbn != "" {
102102
ctx.FQBN = parseFQBN(t, fqbn)
103103
targetPackage, targetPlatform, targetBoard, boardBuildProperties, buildPlatform, err := pme.ResolveFQBN(ctx.FQBN)
104104
require.NoError(t, err)
105105
requiredTools, err := pme.FindToolsRequiredForBuild(targetPlatform, buildPlatform)
106106
require.NoError(t, err)
107107

108-
ctx.Builder = bldr.NewBuilder(ctx.Sketch, boardBuildProperties, ctx.BuildPath, false /*OptimizeForDebug*/, nil)
108+
ctx.Builder = bldr.NewBuilder(ctx.Sketch, boardBuildProperties, ctx.BuildPath, false /*OptimizeForDebug*/, nil, 0)
109109
ctx.PackageManager = pme
110110
ctx.TargetBoard = targetBoard
111111
ctx.BuildProperties = ctx.Builder.GetBuildProperties()

Diff for: legacy/builder/types/context.go

-3
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,6 @@ type Context struct {
8383
// Custom build properties defined by user (line by line as "key=value" pairs)
8484
CustomBuildProperties []string
8585

86-
// Parallel processes
87-
Jobs int
88-
8986
// Out and Err stream to redirect all output
9087
Stdout io.Writer
9188
Stderr io.Writer

0 commit comments

Comments
 (0)