Skip to content

Namespacing the MaxMind GeoIP2 library causes the creation of duplicate files #145

@daigo75

Description

@daigo75

I'm using a simple test configuration for mozart, as follows:

"mozart": {
	"dep_namespace": "\Dependencies\\",
	"dep_directory": "/dependencies/packages/",
	"classmap_directory": "/dependencies/classes/",
	"classmap_prefix": "Deps_",
	"packages": [
		"geoip2/geoip2"
	],
	"delete_vendor_directories": true
}

Composer downloads the GeoIP2 files, which also have dependencies on packages maxmind-db/reader and maxmind/web-service-common. So far, so good. When mozart does its job, the dependencies directory contains a duplicate of the MaxMind WebService package. This raises a series of warnings, like the following:
Warning: Ambiguous class resolution, "MaxMind\Exception\AuthenticationException" was found in both "/src/dependencies/packages/MaxMind/WebService/AuthenticationException.php" and "/src/dependencies/packages/MaxMind/WebService/vendor/maxmind/web-service-common/src/Exception/AuthenticationException.php", the first will be used.

The issue is the presence of folder /src/dependencies/packages/MaxMind/WebService/vendor/. For some reason, it seems that the namespacing process is causing the WebService library to "include itself", introducing duplicates of its files.

I haven't been able to find the root cause of the issue yet, so I thought of sharing this finding in case someone comes across it and has an ide of how to address it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions