Hi Gabor,

welcome to the project.

You raise a fair point. Why are the repository configurations not in the pom.xml itself. The reason is precisely the one you cite: to allow a decoupling of the way the artifacts are fetched from remote repositories.

The settings.xml can and should be replaced by an equivalent one, e.g. pointing to Nexus or other repository manager, when behind a corporate firewall.

It's the responsibility of whoever is controlling the build environment to provide the appropriate settings.xml. The one provide in the codebase works with open internet access and can be used as a starting point for others. Keeping it separate makes it easier than having the configuration in the pom.xml.

The repo configurations are not specific to the jbehave-core project but can be used by all other jbehave projects. Given these other projects don't inherit from the jbehave-core it would lead to unnecessary duplication.

I hope this clarifies the reasons for this choice.

Cheers

On 12/08/2013 14:38, Gabor Czigola wrote:

Started working on jbehave-core codebase and wonder why there is a settings.xml boundled in the source tree?

The purpose of settings.xml is to specify workspace specific mvn settings, according to maven.jbehave.org/settings.html <http://maven.jbehave.org/settings.html> it "should not be boundled to any specific project" for a good reason: people specify for example local proxy and repo settings. By forcing this particular settings.xml you doom everyone requiring specific settings.

I don't see any reason why the definitions in settings.xml are not in pom.xml actually? They do belong there, don't they?


Reply via email to