{"id":18474418,"url":"https://github.com/codecop/macker-maven-plugin","last_synced_at":"2025-05-13T14:30:21.630Z","repository":{"id":141739089,"uuid":"256563947","full_name":"codecop/macker-maven-plugin","owner":"codecop","description":"Fork of Apache Macker MOJO from CodeHaus: Execute Macker architectural rule checks.","archived":false,"fork":false,"pushed_at":"2022-07-07T23:10:41.000Z","size":259,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-16T19:33:27.210Z","etag":null,"topics":["architectural-enforcement","java","macker","maven-plugin"],"latest_commit_sha":null,"homepage":"https://www.code-cop.org/mvn2repo/sites/macker-maven-plugin/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/codecop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-17T17:10:04.000Z","updated_at":"2022-11-16T12:40:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"d579d057-cf7a-483e-931e-2533fe8f9b7d","html_url":"https://github.com/codecop/macker-maven-plugin","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecop%2Fmacker-maven-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecop%2Fmacker-maven-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecop%2Fmacker-maven-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codecop%2Fmacker-maven-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codecop","download_url":"https://codeload.github.com/codecop/macker-maven-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253960045,"owners_count":21990796,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["architectural-enforcement","java","macker","maven-plugin"],"created_at":"2024-11-06T10:29:24.385Z","updated_at":"2025-05-13T14:30:21.595Z","avatar_url":"https://github.com/codecop.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Macker Maven Plugin\n\nCodeHaus hosted a simple [Macker MOJO](http://mojo.codehaus.org/macker-maven-plugin/). (Read what the plugin is supposed to do [here](http://mojo.codehaus.org/macker-maven-plugin/).) It was still in the MOJO sandbox and had not been released. Here is a clone of this Maven Macker MOJO. It contains all the original [Subversion history](http://svn.codehaus.org/mojo/trunk/sandbox/macker-maven-plugin/) together with ~~some changes~~ a lot of changes.\n\n## Macker\n\n[Macker](http://www.innig.net/macker/) is a build-time architectural rule checking utility for Java developers. It's meant to model the architectural rules and helps to keep code clean and consistent. You can tailor a rules file to suit the structure of a specific project. Writing a rules file is part of the development process for each unique project. Macker was originally developed by Paul Cantrell. (This introduction is an excerpt from the [Macker FAQ](http://www.innig.net/macker/faq.html).)\n\nMacker is quite old, but we have been using it for years and it works well for us. See [what happens if you do not use it](https://blog.code-cop.org/2007/09/macker-check.html). It comes with Ant support, ~~but Maven integration has been lacking~~ and Maven integration is available as well.\n\n## Usage\n\n* See the current [usage page](https://www.code-cop.org/mvn2repo/sites/macker-maven-plugin/usage.html) of Macker Maven plugin's Maven site.\n\n## Modifications\n\nThe CodeHaus Maven Macker plugin only supports a very basic configuration. For example, there is no way to skip it's execution or to allow multiple rule-set files. I added more configuration options, e.g.\n\n* Skip execution (`\u003cskip\u003e`).\n* Work on test classes as well (`\u003cincludeTests\u003e`).\n* Allow multiple rule-set files.\n* Find rules in the classpath.\n* Include and exclude files.\n\nIn fact, this is everything the [Maven PMD plugin](http://maven.apache.org/plugins/maven-pmd-plugin/) is able to do and I copied the source [from there](http://svn.apache.org/viewvc/maven/plugins/trunk/maven-pmd-plugin/) ;-) Further more I added the following:\n\n* Some unit test cases for old and new functionality.\n* Made the whole thing Java 1.4 compatible to fix dependency problems.\n* It now skips the execution of the plugin for projects which are not Java, so it skips POM projects.\n* I fixed the `classesDirectory` problem with Sonar.\n* Added the missing examples page to the Maven site. I copied it from the current site, but it wasn't in the SVN trunk.\n* Fixed all PMD and almost all Checkstyle errors shown in the site report.\n* Had to change all license headers to the current Checkstyle format.\n\nLater, Mark noticed some license problems: Macker is only GPL (without the classpath exception) and must not be called from an ASL licensed plugin, but only with a forked JVM command-line as is done in the Cobertura plugin. So, I did the following:\n\n* Refactored the plugin to allow different implementations of calling Macker.\n* Added a forking implementation, which was mainly copied from the [Cobertura plugin](http://mojo.codehaus.org/cobertura-maven-plugin/).\n* Finally, I added some integration tests, which set-up I borrowed from the [Eclipse plugin](http://maven.apache.org/plugins/maven-eclipse-plugin/). See [my post about Maven plugin testing](https://blog.code-cop.org/2010/09/maven-plugin-testing-tools.html) for more details on using the Maven Plugin Testing Tools.\n\n## Releases\n\nA `1.0.0-SNAPSHOT` of my latest changes is available in my [Mvn2Repo](https://blog.code-cop.org/p/mvn2repo.html). There is also a `0.9.0` unofficial release which does not fork Macker. For the current state of the patch see [ticket MOJO-1529](http://jira.codehaus.org/browse/MOJO-1529). The plugin has not been released.\n\n## License\n\n[Apache License 2.0](http://opensource.org/licenses/Apache-2.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecop%2Fmacker-maven-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodecop%2Fmacker-maven-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodecop%2Fmacker-maven-plugin/lists"}