Skip to content

nicodewet/dotnet-maven-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotnet-maven-plugin

Why?

This plugin can be used to include .NET Core builds in Maven centric pipelines allowing for the re-use of some Maven concepts and features (e.g. the versioning scheme) and plugins (e.g. the spotify docker-maven-plugin, the release plugin).

As highlighted in Maven: The Complete Reference Maven is not just a build tool. Rather it is a project management tool offering a superset of the features tradionally found in a build tool. So in terms of why create this plugin, the reason is simply to keep some, but not all (NuGet is used for dependency management), of the benefits that Maven offers.

Maven is a project management tool which encompasses a project object model, a set of standards, a project lifecycle, a dependency management system, and logic for executing plugin goals at defined phases in a lifecycle. When you use Maven, you describe your project using a well-defined project object model, Maven can then apply cross-cutting logic from a set of shared (or custom) plugins.

Alternatives

An alternative to using this plugin would be to write shell scripts to call the dotnet utility at appropriate Maven lifecycle phases. The benefit of using this plugin is that it saves you the time of writing these scripts and then calling them from the Maven AntRun plugin.

Testing

  • mvn clean install
  • mvn io.makaro:dotnet-maven-plugin:test
  • mvn io.makaro:dotnet-maven-plugin:build

Original Setup Steps

mvn archetype:generate -DgroupId=io.makaro -DartifactId=dotnet-maven-plugin -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-plugin

References

About

A Maven plugin for .NET Core

Resources

License

Stars

Watchers

Forks

Packages

No packages published