Skip to content

Commit 46eeee2

Browse files
committed
Explorer and Builder should not extend PackageManager
Previuosly the methods PackageManager.NewBuilder and PackageManager.NewExplorer were available also on Builder and Explorer. Now Builder and Explorer does not inherith these methods anymore, avoiding trivial errors like the one fixed in this commit in the builder_utils package.
1 parent e8ef962 commit 46eeee2

File tree

2 files changed

+25
-24
lines changed

2 files changed

+25
-24
lines changed

Diff for: arduino/cores/packagemanager/package_manager.go

+23-18
Original file line numberDiff line numberDiff line change
@@ -56,33 +56,27 @@ type PackageManager struct {
5656
// Builder is used to create a new PackageManager. The builder
5757
// has methods to load patforms and tools to actually build the PackageManager.
5858
// Once the PackageManager is built, it cannot be changed anymore.
59-
type Builder struct {
60-
*PackageManager
61-
}
59+
type Builder PackageManager
6260

6361
// Explorer is used to query the PackageManager. When used it holds
6462
// a read-only lock on the PackageManager that must be released when the
6563
// job is completed.
66-
type Explorer struct {
67-
*PackageManager
68-
}
64+
type Explorer PackageManager
6965

7066
var tr = i18n.Tr
7167

7268
// NewBuilder returns a new Builder
7369
func NewBuilder(indexDir, packagesDir, downloadDir, tempDir *paths.Path, userAgent string) *Builder {
7470
return &Builder{
75-
PackageManager: &PackageManager{
76-
log: logrus.StandardLogger(),
77-
packages: cores.NewPackages(),
78-
IndexDir: indexDir,
79-
PackagesDir: packagesDir,
80-
DownloadDir: downloadDir,
81-
tempDir: tempDir,
82-
packagesCustomGlobalProperties: properties.NewMap(),
83-
discoveryManager: discoverymanager.New(),
84-
userAgent: userAgent,
85-
},
71+
log: logrus.StandardLogger(),
72+
packages: cores.NewPackages(),
73+
IndexDir: indexDir,
74+
PackagesDir: packagesDir,
75+
DownloadDir: downloadDir,
76+
tempDir: tempDir,
77+
packagesCustomGlobalProperties: properties.NewMap(),
78+
discoveryManager: discoverymanager.New(),
79+
userAgent: userAgent,
8680
}
8781
}
8882

@@ -128,7 +122,18 @@ func (pm *PackageManager) NewBuilder() (builder *Builder, commit func()) {
128122
// to correctly dispose it.
129123
func (pm *PackageManager) NewExplorer() (explorer *Explorer, release func()) {
130124
pm.packagesLock.RLock()
131-
return &Explorer{pm}, pm.packagesLock.RUnlock
125+
return &Explorer{
126+
log: pm.log,
127+
packages: pm.packages,
128+
IndexDir: pm.IndexDir,
129+
PackagesDir: pm.PackagesDir,
130+
DownloadDir: pm.DownloadDir,
131+
tempDir: pm.tempDir,
132+
packagesCustomGlobalProperties: pm.packagesCustomGlobalProperties,
133+
profile: pm.profile,
134+
discoveryManager: pm.discoveryManager,
135+
userAgent: pm.userAgent,
136+
}, pm.packagesLock.RUnlock
132137
}
133138

134139
// GetProfile returns the active profile for this package manager, or nil if no profile is selected.

Diff for: legacy/builder/builder_utils/utils.go

+2-6
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,7 @@ func compileFileWithRecipe(ctx *types.Context, sourcePath *paths.Path, source *p
182182
return nil, errors.WithStack(err)
183183
}
184184

185-
pme, release := ctx.PackageManager.NewExplorer()
186-
command, err := PrepareCommandForRecipe(properties, recipe, false, pme.GetEnvVarsForSpawnedProcess())
187-
release()
185+
command, err := PrepareCommandForRecipe(properties, recipe, false, ctx.PackageManager.GetEnvVarsForSpawnedProcess())
188186
if err != nil {
189187
return nil, errors.WithStack(err)
190188
}
@@ -413,9 +411,7 @@ func ArchiveCompiledFiles(ctx *types.Context, buildPath *paths.Path, archiveFile
413411
properties.SetPath(constants.BUILD_PROPERTIES_ARCHIVE_FILE_PATH, archiveFilePath)
414412
properties.SetPath(constants.BUILD_PROPERTIES_OBJECT_FILE, objectFile)
415413

416-
pme, release := ctx.PackageManager.NewExplorer()
417-
command, err := PrepareCommandForRecipe(properties, constants.RECIPE_AR_PATTERN, false, pme.GetEnvVarsForSpawnedProcess())
418-
release()
414+
command, err := PrepareCommandForRecipe(properties, constants.RECIPE_AR_PATTERN, false, ctx.PackageManager.GetEnvVarsForSpawnedProcess())
419415
if err != nil {
420416
return nil, errors.WithStack(err)
421417
}

0 commit comments

Comments
 (0)